From patchwork Fri Dec 12 15:01:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 4713 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 12 Dec 2025 16:02:13 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-qv1-f64.google.com (mail-qv1-f64.google.com [209.85.219.64]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5BCF27IQ028159 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 12 Dec 2025 16:02:13 +0100 Received: by mail-qv1-f64.google.com with SMTP id 6a1803df08f44-880444afa2csf20575866d6.1 for ; Fri, 12 Dec 2025 07:02:08 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1765551722; cv=pass; d=google.com; s=arc-20240605; b=B8mBxKLTX3OrXdktNifZDLX2F5M9nPzn3jW6c7IF0ew4Lqi/8U1u81nMqZzAHKKhPW FegYA30mrH12Ayeaeuc0NMZb8rG+TunhwVoqyCYLglF0HKnoCe02VQ2261ngQ+KHq+fb AatL0H4nlslqkkJPrzFd5rf7+hYwvENfa9V8lAWKaZtVQ9kBbEzULcjBZ8Ato6NtrEcL bW9wNejNliO44X4j7KC9RvEceax/Z6IQMZ6ydTVqDoEqAJzdxixdzZy22jizQc1OCdnl 8OsjQJwi4B2uidqqsm7nbbpREqa0q333VRTUaj7FFewQ3lUQBzDPE96alK8Np7whea3z RWIA== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:mime-version :content-transfer-encoding:message-id:date:subject:cc:to:from :dkim-signature; bh=5cvs+oW8PIHjd0Feb9JyGWH87SbS6OzjhYe2h4NEkJw=; fh=Z5ZgiQJUdUwar6pzEBP6SKTTLxbylfFmcI8Eh9V0X7c=; b=QbFNWbK2xqwMwrkQ9ZlDBLjpu7p1CJDYy7Y3Ir1NZyt6oB4WxGCApgSECfZZBuGRd5 sWe4klsFPUtZYgyp0pPNq0i/udMKzGj/Ssn7IKBx1G0f+K5fhZgconjPiAakcujqy1F+ /sjzrNzOGjQ6uwr0bL6IBwwbx6x9DTafY9nQ2t5GdZZSr3I3trcEyuJSdMfvoIoLEXwW Wsy/J6eeaCkgjITdyJP7BOtxIYocD1HdvzumbbYjXMpdgcNscTvvmO+PeY+bKrFbavSW eL94ZrhAA7dmZrgQtAXQGelaQQU85gOeZr2xJm0k5S1nENOzbL9mHlhbZr0htzPBqPrp sQFw==; darn=isar-build.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=w+r7KSZF; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c200::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1765551722; x=1766156522; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :content-transfer-encoding:message-id:date:subject:cc:to:from:from :to:cc:subject:date:message-id:reply-to; bh=5cvs+oW8PIHjd0Feb9JyGWH87SbS6OzjhYe2h4NEkJw=; b=rgzaGlyboUO9ipFouc4MIVynRUMwxSkX6mE3zcPSIMQ/tbpr+X9F067OJk9Ka3euNK umbONQJQTabs7VZ5v6CWbhShh6XMNFG1VKDhl2aWmGsDYOjxMiBlokjpuqzZE3KKY9Nm 2TSxTtMf7LUE2KiB9kjNPPXHJKtpaEsiU4hJcO632c0VlN4pUmBCLjurHL/8d9bhcQNp SLkH/EE0OTe9KTpmhLHPvUUdPHL0Pycq27nIV5SdoqtSsOv0AsjYrh4auFUGCKJAFI4o DM9EcfLPGQWahAclC14iuglnaVpbmUf/Gzrv9lS+4PEs0gEJZD2wPNhXEDd9lyuT8R9p huHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765551722; x=1766156522; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :content-transfer-encoding:message-id:date:subject:cc:to:from :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5cvs+oW8PIHjd0Feb9JyGWH87SbS6OzjhYe2h4NEkJw=; b=meumaapHrCrlWdD9kmBZDjOPbg1cx5/blrzNcq5MxNZmfW7JtJ4y2YEd2O6AtLxZfl /yL6vZCvMvWFc/PlO6CQVGxLZc4AzcR2pfhglb9GPbPySNtnDhyE4CBfB7XAjqdVPtbs SuaRIRMagkEfk5vMECeeDlYAPuxHLhg9BWQsQ8BoCNy+3VVIZ/Fz7LtH46qewfqe/LSf tFtm2M02SDksLF7QI0HfTRiGmlvJsCzZpsgEWKEO+I4cdFRU1c+PAU3FJ5Fv1Om9J6kf sgUBoPhS73G7q1tyzLs+bV9fpKZxqjmsyWtdsTgOxZ3YPu+3nuZ2a1p+llxWoE5yB0Ic mJMQ== X-Forwarded-Encrypted: i=3; AJvYcCXFYW3tG5hq1kpHea+RnTIETvDXe8PR3P4ZU8Oxz+3lKI3Y3aNHwhxq18LyknCNSU+ulZNHvOY=@isar-build.org X-Gm-Message-State: AOJu0YzQQhTzil5IWPWt/YYq8twKSv/uMOB5nmDmcaZMjnHDu9cWIl27 N7695jdlexeH+ShZHzspAyLxiR0IPp28yHCOQdGolfruWzNkpD1+Cz2+ X-Google-Smtp-Source: AGHT+IFFiO5dguk9bpJ+/LawTDNYGtsUBmhdOZtDwD7bT6GQXzwstghdhNf6qFVRONiv2DMqhPrJPw== X-Received: by 2002:ac8:5c89:0:b0:4ee:11bc:bc9c with SMTP id d75a77b69052e-4f1d064f89dmr28366261cf.74.1765551718423; Fri, 12 Dec 2025 07:01:58 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="AWVwgWbeleDs2mVWE2S1WvGgCuqoDccAJmOtoXTSPT18vzKgEQ==" Received: by 2002:ac8:5f0c:0:b0:4e4:600f:d8d4 with SMTP id d75a77b69052e-4f1ced6ff5fls13867261cf.1.-pod-prod-08-us; Fri, 12 Dec 2025 07:01:55 -0800 (PST) X-Received: by 2002:a05:620a:4488:b0:8b1:ac18:acc8 with SMTP id af79cd13be357-8bb39bd6d5dmr328232385a.26.1765551715115; Fri, 12 Dec 2025 07:01:55 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1765551715; cv=pass; d=google.com; s=arc-20240605; b=Zmo5WZ9lSaIV8VOgkwKv+cvJ3Qwr0fRcApq00AwLVBWm5oHJap8SGE7L44jQQ40vAU Djmq2yjzqTUyhaK9547OL4CI045uHp8Ce9QpHyLNgqpOUecv2N5oQTzZJ+GS+6Yu/axK eRPWj0TkBfbBpV2iWQ9apQ+cLvarGElhMRSFg6XC7WsEr1FFwgTilr7jiEsSS0q9qP6O TKQ2ubnMPDJj3Nb4EcBu/s12ptk1OxGNrHUNqBRaKxWB32ez251byuER1B9M6WwxTORY kwm4RvgrGJHwICtFB40zRguR60GraWym0xZ9LRdgI/+o/r0nOueOcCJQWCvppNT943G/ 82Nw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=mime-version:content-transfer-encoding:message-id:date:subject:cc :to:from:dkim-signature; bh=jzxsEz5TuG09NynNuTYMl9C7pwMblHBBEAcir6UHS8Y=; fh=pLX/tJzTaGYeuWqxp0dk0gQEMG9HMWQKp14B1PMUjfI=; b=IYXd9zVwNL/C76EaBj/UljcgSDuwQKu8Is/x9L2LHCtDCWZ6L/0u77JN4Fv5zM7Bav xGB8TdT4E1WGyZ/uIi5YihuPo+XnqbuH0OMtKVcf+WugkwY1AS7JzYpoaHjlY3hTqxRZ zAxiK09QSYH3wlpitQiIeliysVHl/QXNr10d83tBgVrf3ogIoN/84R/JSEIjDDpf5p5I 0xPXg7Lw9bxeYeDLjO1/PQr1XMDY1B8ZMev/PrCik3cbfE4dPgSSl5GZBNTFStLqB0Df Tqe6cqlxvXAk0vjVMqe+yhiEK3l2Uh7iG5qbQRJklRz/LF2pbK15C9t7xMR2MY7od05F lKLQ==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=w+r7KSZF; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c200::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c200::3]) by gmr-mx.google.com with ESMTPS id af79cd13be357-8bab5e4d590si29193085a.8.2025.12.12.07.01.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Dec 2025 07:01:54 -0800 (PST) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c200::3 as permitted sender) client-ip=2a01:111:f403:c200::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EyhNNSEvcmlZ7HQwqgV//dI7+iERPDmsqi9Da+Ki9+3OjJBDsMNgYhMI79HesS51LygFwC1I1r4GzWG/QLfBxSEcVIe+gKFFwYeOdr9lnPJ0UYfrWfhxHC6Lhn/ysVO4UX2pPHlDSCmxSoFZHrypK8mFLusGDjVtG66PBwZ8/u9ZSeiFetfLn/JJGTYcCpgT7VmCM8mXqNuusr11kzs27QjdBbdc2eZLLSWFhZIyBlfEfhduZexrAv8WbJsK4xqsfXn6xnck8gT/DWytw6vZQYZiJ5DSrwNOXzEFIEDkbybP1LSLzMvSlBOMdYqyGro2Fa7ganK+a+piQEucbnm6bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jzxsEz5TuG09NynNuTYMl9C7pwMblHBBEAcir6UHS8Y=; b=P/FmcWZ8QA7+wgiwwy04rdqZWbCgXS+IHQslFTnaMrfemWMw6Qf7IfJLL9XF1aJ4pKuMobbtUnstLH8FFzOhzFYXu60CYht/P85RaF09AEqSiMLbY6y2I9truvGOJ+yu/LDpfdIWM3EL4BUgOxU2tpM2yroJkbXe8zja8lOTaR1jn0X78hfjzW1TiQvq3yHLFGUenOsHjZYip2rw0rUHO3PBHYPUhegN5iUo3/mkh3mLXEatG7aA+e4KvtH2O7vVo/HYr19+FW+i5X5oBAx32GgMEy6z06bqvFVptq68sA2tz3bahTdYT7+y1BleqvZsJstczyq3P/si01LX9tVuew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none Received: from DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:47f::13) by VI0PR10MB8714.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:800:23a::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.9; Fri, 12 Dec 2025 15:01:49 +0000 Received: from DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM ([fe80::8198:b4e0:8d12:3dfe]) by DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM ([fe80::8198:b4e0:8d12:3dfe%4]) with mapi id 15.20.9412.005; Fri, 12 Dec 2025 15:01:48 +0000 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, Cedric Hombourger , Felix Moessbauer Subject: [RFC][PATCH v3 1/1] test: provide ci_shell as a convenience wrapper Date: Fri, 12 Dec 2025 16:01:21 +0100 Message-ID: <20251212150124.1424230-1-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.51.0 X-ClientProxiedBy: FR4P281CA0049.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:cc::13) To DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:47f::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR10MB6828:EE_|VI0PR10MB8714:EE_ X-MS-Office365-Filtering-Correlation-Id: a3917d58-0cb5-457e-f4c7-08de398f5ff9 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|10070799003|1800799024|7053199007|13003099007; X-Microsoft-Antispam-Message-Info: =?utf-8?q?MI15Sg4t+MEJHKBdgngMzp+cjl2ZMXh?= =?utf-8?q?dcLckMILG03j6El/H76s6RpPchalSqWN+a9CKTk9LRGUEe2SnEyw0X2uB7Ozn/woT?= =?utf-8?q?JBdIXagPzsr3RecaK5AsnCJk6T8cr1l3snq9jJtOIJ0Ridjm2nD1D9/XzkzTUycbB?= =?utf-8?q?GZ1OcrQ3ANuwZhoz4/XLjdewr2kuYSCW+mqnbv25VRL2aXTcNvFDtiPXfuv+B7b4h?= =?utf-8?q?S8m93LTpFyRt4B/glOz+IM0J6FEHDIKgFNW/kNHw4EMVs9MfJSn21ejnyNt/Ayb6m?= =?utf-8?q?bCuGKUBNe5lRMfMtlRw240ptBTSdcQDkIS9/GsTRRsjEa50RijaqzEken7tYhSL+q?= =?utf-8?q?+XF3M/Lu0GtUJV5Zgj8gay+YGcRyEm1BG6hW4HFgpVTxIurto8p6HvsYvTm6Qu/3V?= =?utf-8?q?RwgSXzZ/25b5afjxq7LPlrTgZxgJutTlC4FJP8Q8BPQMGdne3BHeKTx5PYDzqkGaR?= =?utf-8?q?VutZcNT/15G/LFUaOWwsoY7vGm+Iwa4r8NteUfXPX1tdy5r3jAUjUhkcVUwxlL3rt?= =?utf-8?q?IMM9yoMNMaY8MvF0L507ZHvOQ6x7TFVyvILqlAn+Dj0u4S4xhEhesbOvQlSvWpU0O?= =?utf-8?q?WNaj4V2qUJ2QU9suCQ5KZQxu1uUc7l+Lk5JxlX0EEHlVm3M3ihLR3EWgxDkhcdELL?= =?utf-8?q?luKnQTpki7S5lr4is9mlawMxZLRkT8zpEra9qa+9AQILyDmpkg6Rm5AIB8LIqPEm+?= =?utf-8?q?bx9csL7miCcKj3mFJPfbfOnz5SGaGX/gNJVfLpuQdIq4rUIVlzPr4zYfQVbue6PkQ?= =?utf-8?q?lGKoJiWvXlYP5sBG3sqTvS68x3Ey2fyvNnU4s96Qvwx0ziyugG1h2+V/eI+6oaMwT?= =?utf-8?q?vmqv+05TTdUWFIbA1MLOwVaIHis95gCW5ZJd3alnSaX9JRoHKc80ZHoSN2DCFuktg?= =?utf-8?q?eNQe/PxVX2fCZqBtDpI9Yz/aILBoQKRtpZY2GgSJVspc86Gu6Tss3t0W4JyXQdu+N?= =?utf-8?q?WLze/uROVfbgqAKbwcvDknyBrnSliUOSc65maCo6E6UAHR4k7X3zBzgbpaPBcfar2?= =?utf-8?q?ragV5OyppZON7urAASmqyMZIUQd8Za0Y+/igr2UKpfb2KxfvjeOs1+942L/+YqOMz?= =?utf-8?q?9dqxM1h+T3KcIK+fCD9fp1f5X1TjmLPnoEGlMb1nIyxeH9PDU0H2vHEjcHnaMskYy?= =?utf-8?q?yXVHHe48GHouQm8efwCO/ccQGXLcpVZIY3ENka7goYFN/9yPoTgMfxDg5Bhw3feMI?= =?utf-8?q?zwzxcPkn3c0vXA4t12Q9l5UnRUXIHsdE7N0NarYecS8bp0MNeOf5fL1/4hyxrYQXJ?= =?utf-8?q?cdI6+JfMyVYZEdNyE+/HpRH6raSX/HuQj/e+cvQ6XBN7SW0O0ScJ7T2wtyJ4Sw5SY?= =?utf-8?q?PSndeIb33C4inpcL39iVtyNbvlxNV7N3P3vPyVx/k6u3uXCrI4M+EmQMo+fbibkuI?= =?utf-8?q?dy73NNlqwVR3iAWGuR5XA/HYewGRWrDdw=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(10070799003)(1800799024)(7053199007)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?18wfg9qAuIGn2WxUJUyH7tahsaLG?= =?utf-8?q?GJIHzRaB++gQMJSF0DGAG3gWc4OQrm9p/rudnx16Nqct2jK8NIZZO3lMly3GFad3H?= =?utf-8?q?wiJlZJoJYOKMAHznAbUx88Uae2xOd+dRgRqeov9dbDogKsyOXWaNEyNuPrSdGdr5O?= =?utf-8?q?tMwDkkKQ7pMRMEHoGlc322qz0njKZUvenLfCIZH9DglT2Y9REJA8kuGPFbG6M+v64?= =?utf-8?q?/7hpNPpSdZxGAIkDQXgWItFwACLRj9B0NRv4nOfItWvh0ix1fVeJ3s7iCK5oVSsGx?= =?utf-8?q?gI4cHTx7I8BfJuU8iMwUuo1P70t/fyFvN4BCBeFrtG66w1MkJfGrxduCZPtK5uGKX?= =?utf-8?q?G16cqw2xOgr/mxALZAFyIfKaOEyF1jtlWY/zXB1sxbRUWYGXvoAJC4EmmAEDnXpyE?= =?utf-8?q?pIfnLf9lGu7eHOR4292RBKKSGTiC5rtqX0yrkidGmxqX6YidONLmx9r5rb2TFCHpP?= =?utf-8?q?dmy2IUjRsAtlZuyv1pJ2Mq7/RLQSizqae5LA/E2FRufA2g18BpDmmATeLcQ5hOfS2?= =?utf-8?q?2J5CILN6rkndmBwaUUxK5MbTN8Od2E1xbM9dpBZuw+d92R8btTkPIxC4T5liWvART?= =?utf-8?q?y+m3+7XG0JTSiOdE9qshHjPh3l0x2Tq3vTyPhnGErhJKLCK5rRoOVenktA2Ikw9Mx?= =?utf-8?q?66Du8aWqs9hVJMbmqeGOqgd2hYhen9xvxSman0mRH1TDd3Ac2NwQmiSmZkoi/Mu7s?= =?utf-8?q?i41//S2F/m60rcqQVfGYpJkNT+FqXwrclC1VTu1iSrPjKTDO/t2PpIA/qEjNEznuV?= =?utf-8?q?Akj06cse6rw8L/0VK+lxYFM77Pj1eEtVJW6Do2gCQho3ESUpKbtTxlklCCSH+OJXZ?= =?utf-8?q?tJp6iUJbywJph0lKEUL26xqDa2Ep2aFQpxNrW+1XDOH0gKXa8o8tR1azDBlr+1XRt?= =?utf-8?q?EoRdygkoSYIhmpAWLw5U0mQ+qcxwOSwwDqQ+KB807Sny3110VOCkj5OoEQbSCyUBE?= =?utf-8?q?Wrk4JhREPHGpVxF0s7Gg0vJpCKfCuSf5ezUUqycikcV4Fq8sbt2J2HdiI5iWWVarG?= =?utf-8?q?e/ZhKIhU4inNPnDsWDQCYC142AvuAO29gjDtWjy1aMZr0xJGQiLTpAPoF6/NOCkkA?= =?utf-8?q?CdPAhqO3ZhXdRG+c6mqntcnaHmYtgGywxL0mu0prLAzuMZSrA8NTodnBvqszYM9wT?= =?utf-8?q?ra20bnxsAgY6BMRUhMRYI0o6dfZhTwvoe7W5LigF1/r5YF4/nj9Ew3SGC0fW49wmn?= =?utf-8?q?qg7W9yfzQXFRr14J5/1MZ73ZV86Xh3aPO/JAelvowd/dPsgIhXOxWtwYhSrlXRVOT?= =?utf-8?q?c6OOfxKE+TCuoEaT4z9BMbiWR8WP8HjqTcDLLB5IfXfFElDzPbAxdlkWG72qV6pni?= =?utf-8?q?r/xgk89bjFu9NNU4+ORBpXV0USTjqtNNPna1vLJd9dHBwFHJdn1/vUfZg4c6ZFHa3?= =?utf-8?q?hmeAOuuX5/1ZqQBGBP4NORJfhUAyjej8MQxJslfsKecgdapRl4TcdLBnJNaJ6QQ6t?= =?utf-8?q?fJmhcy/6pm2W2TPrfMl79r30gH2ynva9XAM29rjVqLq086WjHk+9FLUFKxxEPvsle?= =?utf-8?q?IxEIVTuz3VC7+vHjghPGfcieW0tDABWtgw7fKvNd+wX1QbbWZB0J02Yy7p/BzX8VS?= =?utf-8?q?UmWN4jMl7DcskbdwK0XIVoebw0MEPIeyQ=3D=3D?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: a3917d58-0cb5-457e-f4c7-08de398f5ff9 X-MS-Exchange-CrossTenant-AuthSource: DU0PR10MB6828.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2025 15:01:48.8746 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mRjPY1rPxCxI1PBHVIM/jNa1oyA6EvaEZi89+8S1pcMr9nahnSOU01ev7pZUc7M9ESzGN256JYcWqbbLw39R0taUR5lt1yf0Bqylw73FFgs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR10MB8714 X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=w+r7KSZF; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c200::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Cedric Hombourger' via isar-users Ease use of the container environment that may be used to run tests from this project by adding a `scripts/ci_shell` script to invoke `kas-container` for you. The script uses the existing kas/isar.yml kas file to use your existing checkout of the Isar code: this makes it easier to test your work-in-progress changes. Lastly, `ci_setup.sh` will produce less output (e.g. when installing dependencies) and will print a few hints to remind users with useful commands. [Felix] - fix pyhashtables cleanup - speedup installation by skipping recommends - add more helper commands - always run with sstate cache - run everything in tmux to access logs while test is running - provide pycache path to speedup python startup - add builtin (memory only) squid cache - use host network instead of container network (allows use of federated proxies) Signed-off-by: Cedric Hombourger Signed-off-by: Felix Moessbauer --- @Cedric: This is RFC is based on your patchset and tries to further simplify and speedup the testsuite invocation. Feel free to integrate whatever you think makes sense. With your patch and my additions, I finally found a way to efficiently execute single tests. However, there is still much room for improvement in the testsuite itself. Best regards, Felix CONTRIBUTING.md | 52 ++++++++++---------------------------------- scripts/ci_setup.sh | 53 ++++++++++++++++++++++++++++++++++++++++----- scripts/ci_shell | 36 ++++++++++++++++++++++++++++++ 3 files changed, 95 insertions(+), 46 deletions(-) create mode 100755 scripts/ci_shell diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 07621232..6970477b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -81,54 +81,26 @@ Plan merges to `master` so that both fit the two-week window; short extensions s by launching CI tests scripts. The procedure is described below: ``` - git clone https://github.com/siemens/kas - cat > kas.yml </dev/null } -tools="avocado qemu-system-aarch64 qemu-system-arm qemu-system-i386 qemu-system-x86_64" +echo "🔍 Checking dependencies..." +tools="avocado qemu-system-aarch64 qemu-system-arm qemu-system-i386 qemu-system-x86_64 htop" +if [ "${with_squid}" = "1" ]; then + tools="${tools} squid" + squid_pkg="squid" + start_squid="sudo /usr/sbin/squid;" + echo "export http_proxy=http://localhost:3128" \ + | sudo tee -a /etc/profile.d/squid.sh >/dev/null +fi + need_install=0 for tool in ${tools}; do which "${tool}" || need_install=1 done [ "${need_install}" = "0" ] || { - sudo apt-get update - sudo apt-get install -y avocado qemu-system-arm qemu-system-x86 + echo "⏳ Installing missing dependencies..." + ( + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + avocado qemu-system-arm qemu-system-x86 ovmf htop $squid_pkg + ) } -exec /container-entrypoint ${*} +( + cat <<' EOF' + alias tlist="avocado list" + alias trun="avocado run -p sstate=1 --max-parallel-tasks=1 --failfast" + alias trun-fg="avocado --show avocado.test run -p sstate=1 --max-parallel-tasks=1 --failfast" + alias tquit="tmux kill-session -t isar_ci" + alias thelp="cat ~/.trun-help" + export PYTHONPYCACHEPREFIX=/work/build/pycache + mkdir -p ${PYTHONPYCACHEPREFIX} + cd /work/testsuite + EOF +) | sudo tee -a /etc/profile.d/ci.sh >/dev/null + +cat <<'EOF' > ~/.trun-help + +💡 Use "tlist citest.py" to list existing test cases +💡 Use "trun citest.py:TestClass.test_method" to run a specific test +💡 Use "trun-fg to run a specific test and emit the logs +💡 Use "tquit" to leave the testing environment +💡 Use "thelp" to show this help message + +✅ Test environment ready for use! + +EOF + +exec /container-entrypoint tmux new-session -A -s isar_ci "$start_squid cat ~/.trun-help && bash -l" diff --git a/scripts/ci_shell b/scripts/ci_shell new file mode 100755 index 00000000..917d1272 --- /dev/null +++ b/scripts/ci_shell @@ -0,0 +1,36 @@ +#!/bin/bash +# A simple wrapper to run a container to run CI tests +# +# Cedric Hombourger +# Copyright (c) Siemens AG, 2025 +# SPDX-License-Identifier: MIT +# +# Usage: ci_shell [kas-container-version] + +self=${0} +topdir=$(readlink -f $(dirname ${self})/..) + +export KAS_BUILD_DIR=$(mktemp -d) + +if [[ -n "$1" ]]; then + export KAS_IMAGE_VERSION="$1" +fi + +drop_pyhashtables() { + # Remove possibly outdated pyhashtables.py file that is generated on-the-fly. + # The file is owned by the (bitbake) calling user, hence it's lifetime needs + # to be bound to the container's lifetime. + rm -f bitbake/lib/bb/pysh/pyshtables.py +} +cleanup() { + rm -rf --one-file-system ${KAS_BUILD_DIR} + drop_pyhashtables +} +trap "cleanup" EXIT + +cd ${topdir} +drop_pyhashtables +kas/kas-container \ + --runtime-args "--network=host" \ + shell --command "rm -rf /work/build/conf && /work/scripts/ci_setup.sh" \ + kas/isar.yaml