From patchwork Sat Nov 1 06:24:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Cedric Hombourger X-Patchwork-Id: 4475 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Sat, 01 Nov 2025 07:25:17 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f62.google.com (mail-wm1-f62.google.com [209.85.128.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5A16PBlh018769 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sat, 1 Nov 2025 07:25:11 +0100 Received: by mail-wm1-f62.google.com with SMTP id 5b1f17b1804b1-46e47d14dcesf17902955e9.2 for ; Fri, 31 Oct 2025 23:25:11 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1761978306; cv=pass; d=google.com; s=arc-20240605; b=UW4YUCqCfU5lHCczbqQUu7nuu8o/Kiro3tn/oEFs+TV7nuDoG5jDxBcbt3Az2xYfw+ yFWduDdwebkdqW0WaMlwlPecDfqB0cFwvYl38hovsOz6cowUfrWTcdeoyYxxRO1l6vJq /HrVJWK5LXHbAMTz6mAKVH7stsVSr62ie0aofP0Le/WeEUVuZu9dlAf7fppOADwGolKN trtt/jVI7/ond+XOT40cvLeixVk1DE+QYEpCkmdkDN49UqlQKVOcMdLMw9G8BJAaLKFS dl2vfMMUdYdIz5v6UOJ6AXMdNQCQuV9mIJ7E3rd9dIZ76p+KfSWuh7CwYbhDxxvG8ijw PBYQ== ARC-Message-Signature: i=2; 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:feedback-id :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=It0Dn7gb1t53Zm8TjRun5hMh5i9qlgGVkL92MWSeBDM=; fh=sPwouif9Qn+bajlExsgPJmrYJ/9tdo6Bx1F7eKCGCog=; b=AWLVI7L9R+W8OoVGCjYIxxqLX61cedHVRQ9Viw99U+wNJiKm0a4HQc4pKbYE0m6+F+ gdJua7qGp8vb8g8v2rDMztNli+7T9+6QWdK3kWJd+e5OdO4DsNqCucu5FL7kYwxTwpj+ zkKZ+hiDlduAIXShQgN5tp0OuapPE+Ue+YTCydekCWVMKwHEtY1Fr+V4glpbyIOwbzLl 8Ii6CoSv8gWEWkl7YP+IxrtiktqEPTXcS5HKL9yCB5i/sY/uyTXjd9aq5J271nMtiSq9 +1IZnaiEF8/o/vhxrMmPGNVxxgWrtj4uQcdR5mHHeG1gXBnyVjlXjPh2k3aBoPMU6Hn8 bySw==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=mJq7gIpS; spf=pass (google.com: domain of fm-1212295-202511010625012a017d61e90002071e-ecpscp@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1212295-202511010625012a017d61e90002071e-ECPscP@rts-flowmailer.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=1761978306; x=1762583106; 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:feedback-id :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=It0Dn7gb1t53Zm8TjRun5hMh5i9qlgGVkL92MWSeBDM=; b=coPSmtKtKnMXpL3X+hSkOLsb+8spbSrFLfjJQoVMGMD8vFJnEdn2HVJPib8kPAiKwx RUK8PA6QaxerfNB3OA9UdszxlgpmobVjPkoV1ClsCh7KvgMj9bHRlHVYFm0YIhPuEXzv UHD0Jt6KBjan/ym144RQLslhX8oVDZYlT6aBaVMk2XTpf98ZM7LY4OQQOyhK1Uk9PxQZ bf7XAFbDh0YLHXpUQC9HJFfde2aV8+ECzlKJ8Q7n1FSaDcDbbSRBYcmumd69VU5YQbPr JgKFkdJFkqXTMb/mHB49zCPy/hRzS+IO15nt527xNz8sYzLZzf/8W2Q+/O24wzDGAf6h Iuig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761978306; x=1762583106; 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:feedback-id :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-beenthere:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=It0Dn7gb1t53Zm8TjRun5hMh5i9qlgGVkL92MWSeBDM=; b=uzFOeGmxkVwxJygx6a+Z7yfDWUB0m7VXXFtqI/ak9fuugKIoIB46/gfc1vfLkQLTAc a3TynzSrmdIkG34OjCcM8pNFCK9ZgJAmdYRmb+0ekF5bT4u17eLTtEjsTGe0YhBev9kd UbGUTGN5s/dibhsLdTJpfAjO5Kx0bAO9PhvsqrXFu4FmiITuE0xodpTXSIyj8J6csqOH fmrnHVT11zaCHvyE3TiWMwoibwdRnyPdbl/v/BdoKwwu58KeQHnPcbky+YvG3PyUCWuf BWlgGGsbBkbF3WYlqoO9VBMfCHxDxb557P20+YPiKn1WehyTFGshpHwjPb+ysh44uObj XrDg== X-Forwarded-Encrypted: i=2; AJvYcCWuueNVu3OYhRF9VIacNAEm/aY14TL9+kxQE7MYW0X+2rMAhQxAl/2r3B79+KzugVhyOxIGJ+Y=@isar-build.org X-Gm-Message-State: AOJu0YzqEktEePEZqLH2CPErrYRYJ+DS4XduhKBxm0gYbJjU+71hiwUO TzG69euHRu6LUJTcqr4ISs2y0/dvsK0qTQnSqiSJLhWqB6e2lxgOref+ X-Google-Smtp-Source: AGHT+IFGeYLLbfDvYus+/TnckN6aU/l8zAzwaIVs1uofwouPZKvbgrxuPuXSvWXitSuSk0yy92kdLw== X-Received: by 2002:a05:600c:64c6:b0:477:df7:b020 with SMTP id 5b1f17b1804b1-477308303acmr43832985e9.18.1761978305655; Fri, 31 Oct 2025 23:25:05 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+Y6B6xLauWaJ6YuUwSVAPhv/XAf8g/nojqV5WE9IKJo9w==" Received: by 2002:a05:600c:5491:b0:471:a42:614c with SMTP id 5b1f17b1804b1-477279c1d41ls19774215e9.1.-pod-prod-01-eu; Fri, 31 Oct 2025 23:25:02 -0700 (PDT) X-Received: by 2002:a05:600c:450e:b0:46f:b43a:aee1 with SMTP id 5b1f17b1804b1-477308e124emr50270445e9.38.1761978302129; Fri, 31 Oct 2025 23:25:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1761978302; cv=none; d=google.com; s=arc-20240605; b=h9Yd7Xe2iMa5rOL7nNodp2OQb5AcM5N3dpeno7ywqhRVHcH/HZtn4zQG5RfEwHf3TW fr8TlG9RWnwyd0YK7S3CKWZsLMlgP/n/chamWlxoIJQZugOCWMtF9RhaRhEtIX4Mpqdq SSb6fX/vcgoeE3qeUhdSBNcBkvKpaaAp8OGownlvfpvxr0HbNS+8L61eXuTrkRpzupzi iGP9bFGOUXAF9vELDuCIKmx+px6OYQ6rdzmXCw9hXwRTMCfSeXK1ktY3xr2THzr55shW 35hL3bXCrQEywVvecOHAMk4ZG6XPe37op69PwYW6WftgQJdVk7fCXZKbv8XArLB+dHPo mBMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=SULrta1i34YKaZk1DHRXY+BV2IEiK5qwWX/KbIEn7E0=; fh=1z37pEVhqwMLlkT4FDzOga7XBsM6Rzv6sXOq0pipxqo=; b=UTv4s3dMCgiJGSlk6vhj8TF5PkIAouYZoedndA/bItO4zO0Za7INGSqCK/KQ7NiWpD dCrR4kdoPbYKF8PiULjYZaU3Rhk3n44U9APgDgi9WVRIItigMuzpv1+4hRetLt8bs/78 aOjCZmk6TFozcOLlxr4Dymjexlw3kXnQITnMvjfYn9tzq2E2i9zcLfkaWpryJdBJGRHo kYDNZ3BRex7L9P/y+xm4PHSIWj18wuBDYNNQ6B/VU1nO4qvasfN2ix0ffGR5nAw1zR+V rASyMy9Dy/xeGHHmvgoPD2YcLjq/ZaHTPMUB+56POPEJM5gvLVfsm4z/sI0O9/7Cmmva II/A==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=mJq7gIpS; spf=pass (google.com: domain of fm-1212295-202511010625012a017d61e90002071e-ecpscp@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1212295-202511010625012a017d61e90002071e-ECPscP@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net. [185.136.64.225]) by gmr-mx.google.com with ESMTPS id ffacd0b85a97d-429c94184c0si7552f8f.3.2025.10.31.23.25.02 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Oct 2025 23:25:02 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1212295-202511010625012a017d61e90002071e-ecpscp@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) client-ip=185.136.64.225; Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 202511010625012a017d61e90002071e for ; Sat, 01 Nov 2025 07:25:02 +0100 X-Patchwork-Original-From: "'Cedric Hombourger' via isar-users" From: Cedric Hombourger To: isar-users@googlegroups.com Cc: Cedric Hombourger Subject: [PATCH v2 1/1] test: provide ci_shell as a convenience wrapper Date: Sat, 1 Nov 2025 07:24:24 +0100 Message-ID: <20251101062447.3388795-2-cedric.hombourger@siemens.com> In-Reply-To: <20251101062447.3388795-1-cedric.hombourger@siemens.com> References: <20251024132204.3476198-1-cedric.hombourger@siemens.com> <20251101062447.3388795-1-cedric.hombourger@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1212295:519-21489:flowmailer X-Original-Sender: cedric.hombourger@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=mJq7gIpS; spf=pass (google.com: domain of fm-1212295-202511010625012a017d61e90002071e-ecpscp@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1212295-202511010625012a017d61e90002071e-ECPscP@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Cedric Hombourger Reply-To: Cedric Hombourger 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?= 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 a simple kas fragment (`kas/ci-shell.yml`) to use your existing copy of the Isar code checkout: 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. Signed-off-by: Cedric Hombourger --- CONTRIBUTING.md | 52 +++++++++++---------------------------------- kas/ci-shell.yml | 19 +++++++++++++++++ scripts/ci_setup.sh | 32 +++++++++++++++++++++++----- scripts/ci_shell | 18 ++++++++++++++++ 4 files changed, 76 insertions(+), 45 deletions(-) create mode 100644 kas/ci-shell.yml 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 } +echo "🔍 Checking dependencies..." tools="avocado qemu-system-aarch64 qemu-system-arm qemu-system-i386 qemu-system-x86_64" 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 avocado qemu-system-arm qemu-system-x86 + ) >/dev/null } -exec /container-entrypoint ${*} +( + cat <<' EOF' + alias tlist="avocado list" + alias trun="avocado run" + cd /work/testsuite + EOF +) | sudo tee -a /etc/profile.d/ci.sh >/dev/null + +cat <<'EOF' + +💡 Use "tlist citest.py" to list existing test cases +💡 Use "trun citest.py:TestClass.test_method" to run a specific test +💡 Use "trun -p sstate=1 citest.py" to enable sstate + +✅ Test environment ready for use! + +EOF + +exec /container-entrypoint bash -l diff --git a/scripts/ci_shell b/scripts/ci_shell new file mode 100755 index 00000000..bcb7ffeb --- /dev/null +++ b/scripts/ci_shell @@ -0,0 +1,18 @@ +#!/bin/bash +# A simple wrapper to run a container to run CI tests +# +# Cedric Hombourger +# Copyright (c) Siemens AG, 2025 +# SPDX-License-Identifier: MIT + +self=${0} +topdir=$(readlink -f $(dirname ${self})/..) + +export KAS_BUILD_DIR=$(mktemp -d) +cleanup() { + rm -rf --one-file-system ${KAS_BUILD_DIR} +} +trap "cleanup" EXIT + +cd ${topdir} +kas/kas-container shell --command /work/scripts/ci_setup.sh kas/ci-shell.yml