From patchwork Fri Oct 24 13:21:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Cedric Hombourger X-Patchwork-Id: 4443 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 24 Oct 2025 15:22:43 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f185.google.com (mail-lj1-f185.google.com [209.85.208.185]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 59ODMfO5001876 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 24 Oct 2025 15:22:42 +0200 Received: by mail-lj1-f185.google.com with SMTP id 38308e7fff4ca-375ecf5e30esf13606851fa.0 for ; Fri, 24 Oct 2025 06:22:42 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1761312156; cv=pass; d=google.com; s=arc-20240605; b=Ta4Df1nhpvNnQrducDMxgrfwxp5gU+iI6QMsiMd5/GB1rLMKm+RjlOw53QLPc6/Vi6 FUJiLDD72R/dff8NrWjLiMLe+6x3X9rpn6wTi47a6jDRva+P+mkUh3D3CSV0hq8iw9r9 WvnxRgGJTnKGxNImyLFBGarGQ71vl7I1KjHdJ6t7V/vvNuYjeRy8HidW4ZXdjeQxQm9N zegGT6im6ZqJGbIVdMlH46LNatu87lnutREByCbGhcKxK08HtRgu66CfyC+TGeKKB5Cf HRVk6cmNfPt5fMjJ0T3aKxISpj/dNz7kFGbMj5xSymXKoKhbXJRqGdrGqp7iX9nkHmBi Bp4g== 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:message-id:date:subject:cc :to:from:dkim-signature; bh=mHjZlaEKTkjqb4VqPfW0OdM0JLDrUkP1TU5n8yeT+Ew=; fh=yHa4AMAokqfTDkeoapFSyX+loN/AT6GXAkziBxJObhU=; b=BoauP6KzbOLo2JF4pZETmN2h0/p65Bwjb6bHhn9SqsakSLLVrbZxXWDXAT+SUIHMBx MaLvM4HiGT5CJda7OkwxIly9kLLR0hmdF2ynBlh13HU03LZBR+s1J1xtSIuV660Xirgp yzXodDbqTXi4yXXp5d4fAhjpeO3h8K8UNsFhfu+gmCFsBZ5jad+iHt3sJ8UXhD8A2MmD NhG5dSlLnt9g+i1eR+WejRyueITHWGEnhA2Yz8iDWi2kd12C86NQDY5HxZ2zDdkFETVs AXv/1s0EQ7PYG8bDXy6FYG94Di+6FpF755bqI6nzDE9S2OfIr+h+UQzICJMGTnhWuoPq ZVqQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=mFnjghn+; spf=pass (google.com: domain of fm-1212295-20251024132231a71d1c0613000207d1-6fvp3u@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1212295-20251024132231a71d1c0613000207d1-6FvP3u@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=1761312156; x=1761916956; 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:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=mHjZlaEKTkjqb4VqPfW0OdM0JLDrUkP1TU5n8yeT+Ew=; b=o1NJSgPCgnvKQy4Ud9LaMum2qp9743xH+2YWq1uKxR9IoWNquDz/Xt508D5uq/VySK ILAoQIF4wpPB6rIrfWJ3lUsBPo2sqShY40JR2Yn/yfl1qnuBpUyGgmDzL6kkn721OC84 z9DeemGobKMCCXFEOAXnf/bu6PBd9ylDEZAG0qHJU9S9aUOpAk2KRV6WvUOXXFxmFeG1 JkE8nSWF+sFIcqh3X94rM0u3t8BFYCz0opgkSTGyh8Hbx+nAmHiPMLZF/Lge6MA5slLH o6F/hIItXrtBDvOr5qkXaH/yci7ungLVKEotWs4yAutlEVLHrs247eAJp+hmn81lc/Hz +LRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761312156; x=1761916956; 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:message-id:date:subject:cc :to:from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=mHjZlaEKTkjqb4VqPfW0OdM0JLDrUkP1TU5n8yeT+Ew=; b=EpNOYzFFjZl5vO2qascfTqaeg78FMGvYnXmve4qW1YOZimWCGaGiFykeB8QWawDgmY qf9lHIzvvUI8XRcUSBNPTgkExy+pFNDCkbjM+jr/RM9AMIjm8U8LculZ7Uvzz3rwH7sH ID/KPHvlUTix8ThlYuG7Uv9oTffIP7sSjgY80mFfk9dIbh0eG1aqSyaDxQ+sCbJy5iR6 I1H+ZbiU3M2/JqZt1qXLffJ+aLAlgsjNk3iXH91ThtjrI8P0qyGNdNV0m4a81jPoY2/w ZCNN4j0qKmc9ACFq7t8PFq+6/ScX9hgY7Lyl9gT3oSqn1ilCTKAYFbbGT4Jw8yXLJtIB ocPA== X-Forwarded-Encrypted: i=2; AJvYcCW161lxChwCN3dbIufvpF1Xt8pIE5QwhWW9TksggyYKkdCdtxBpvYLAP1Rse+YKv+YQ/U3mn5s=@isar-build.org X-Gm-Message-State: AOJu0YxydqWt8QcvPt9rqs3uDJhnTRKu/hBR85Cr/KIqGZytbhJc8M5C 1ZM3+0mKPeaJym4n5epbJvGu8MnqsMuRGIW2nS6XsgzJa2m8UfZ+boNn X-Google-Smtp-Source: AGHT+IFJQGJsMOpU7LWQLcuojQK/1NvdJtj3hhHrn38QzHZDFbvUgJ8GO1KFNoe9ZUlQT0o8fdoLuA== X-Received: by 2002:a2e:bc22:0:b0:378:d690:5d9b with SMTP id 38308e7fff4ca-378e4432790mr8040381fa.14.1761312155989; Fri, 24 Oct 2025 06:22:35 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+bPBSheIECiq318Z9CbPw9Vy2022C4afRk4AZ2ickZjEg==" Received: by 2002:a2e:95cf:0:b0:337:f40b:d07a with SMTP id 38308e7fff4ca-378d635e3ecls3785261fa.0.-pod-prod-03-eu; Fri, 24 Oct 2025 06:22:32 -0700 (PDT) X-Received: by 2002:a2e:be9b:0:b0:36b:d9d2:734c with SMTP id 38308e7fff4ca-378e440d085mr8391771fa.8.1761312152512; Fri, 24 Oct 2025 06:22:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1761312152; cv=none; d=google.com; s=arc-20240605; b=VC0xhGVG7zR9v17DETfpLCEmBkozx8njJKF6d6RevuSrTBhtUYT0Nsw6pvqDCk58xA IJF93vxT5PNKp5qPLHlAsnYVP/4Iv2pTvb8IgmzeypBejeM6riPvtXLj5BZbjUIldf1D nBz2fjnGIEA4RwaFSVCwKIPioJFFRo2eeyvtsAdHCLY4cstysNIBF0nyQw0fyTFCRsJq oXq7FEEa2RDx6yGxUYtvTFVQSoo+4y37eyEMKMAurwki11ZbnbDRZfiP45GaZ4ium86C Utw/PrXPJwppyMxN4mNSQz6uBO/S2LxDlzpap3xjI/lYJcnuGF/lcirkdAto1YfJR2K/ M2LA== 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:message-id:date :subject:cc:to:from:dkim-signature; bh=IDY3bPwjybug4PTz4qFrH3NSG3gIzhg/sEkRRZ0885g=; fh=1z37pEVhqwMLlkT4FDzOga7XBsM6Rzv6sXOq0pipxqo=; b=jnRdPUAi7i0/ir3uvbOu8y0f7pTzJ8AjeeAsdYzjeATnbErQQEZmkRcnbS2/1b/Uva ksq87dhS5E3IQNvPXDXQKAh0WSQEXmNu31JVuIC5GaOypk4uL2zQadnptolBKYuFtnNY YcV+vDuu+kP79hAo8bTdkWdbOjZMxwqXm3QEpcpGdc/LyqBv71sgfzwAzPJJ7Swu3IBa CCVfxy4ScZS4bNQWjtxj2mJ/E33dBo+xF6ZUYCE43W+JPOCCWrmB9yseC7N5b5npwn1/ 5BlNxD872zUsWZCWwwxcB0z5dBTpzd7Hych0Ijdng98kY88Vkc0vg0N4a9hm+EQXQZqs sHHw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=mFnjghn+; spf=pass (google.com: domain of fm-1212295-20251024132231a71d1c0613000207d1-6fvp3u@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1212295-20251024132231a71d1c0613000207d1-6FvP3u@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-378d67da1d1si862331fa.8.2025.10.24.06.22.32 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Oct 2025 06:22:32 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1212295-20251024132231a71d1c0613000207d1-6fvp3u@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20251024132231a71d1c0613000207d1 for ; Fri, 24 Oct 2025 15:22:31 +0200 X-Patchwork-Original-From: "'Cedric Hombourger' via isar-users" From: Cedric Hombourger To: isar-users@googlegroups.com Cc: Cedric Hombourger Subject: [PATCH] test: provide ci_shell as a convienence wrapper Date: Fri, 24 Oct 2025 15:21:46 +0200 Message-ID: <20251024132204.3476198-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=fm2 header.b=mFnjghn+; spf=pass (google.com: domain of fm-1212295-20251024132231a71d1c0613000207d1-6fvp3u@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1212295-20251024132231a71d1c0613000207d1-6FvP3u@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 | 12 +++++++++++ 4 files changed, 70 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..308bb9fd --- /dev/null +++ b/scripts/ci_shell @@ -0,0 +1,12 @@ +#!/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})/..) + +cd ${topdir} +kas/kas-container shell --command /work/scripts/ci_setup.sh kas/ci-shell.yml