From patchwork Fri Jan 23 08:24:49 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhihang Wei X-Patchwork-Id: 4838 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 23 Jan 2026 09:38:22 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f187.google.com (mail-lj1-f187.google.com [209.85.208.187]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 60N8cMgD016617 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 23 Jan 2026 09:38:22 +0100 Received: by mail-lj1-f187.google.com with SMTP id 38308e7fff4ca-382fcf9cb7dsf10881761fa.3 for ; Fri, 23 Jan 2026 00:38:22 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1769157497; cv=pass; d=google.com; s=arc-20240605; b=NW5tZyvIxstx57LeYV5H/B8ISvmq5JtSWFIAgj8Fn96RiKJ5Ys45b/DHITE9Z4fJZ6 EtfbWrVjGW3Pi0mTd7NcTdbc0C3dAoLhLLzQDLpZi/RJYQ4eTDg4jwYKs9ryv/KOofe4 Mp8Z6zenTbhQ3cnH+i+R8gO2U6SDEd/NVYZnUv2RdjCcRxePkrb6KUaszXSZNyKTZE5N mdJQ+5CwOM7w7Bq2pEBQAYSLSWk9gWbGl5s93ScHV5fLO7ex4yKkYToPTvLzjpXs5P1g B2+0v3WALe83yinwj9JfqH1LHJGAgb9NOwrgTmFVx+yCDaZjtlt+RMM7UeLmncyozPiG tNYg== 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:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=7/qKuZ585lNtJcZjI30e51S0A25gB3ZNYXrRXLC4cRU=; fh=wTIQr5uO63A6n117rpiYwBQNFd5/kBoNULU9D0v/kHM=; b=AT9dVHt97x7F+FmW982sDUPS6v+Xb+mmL6iw3sqZgsIwlct2PqLGUOWKA79pf5jkhb K1/6AJAvlCtC9HIk3o+G8kU1W970J5w31fzlzeGHG14S7TSOKssdPax8bq2z0Xf/6S/T a+QLFwY8AxgTaYAGV1wnGXuQmpvf677f2+WImmDrlkP8knFWsLYtRR5QYFzybGcH8424 Uf6pEy5XSQhzcSRq1LK2IpygyULvIfp1ldF0U2I6UasAJ3z4ArIlyakY1Z6nblep96iY draLMv4JDmfkDt9E4bYeji+XRbux2+x5HsPOq/+JKG2VD7E6/uCRtFRgUJR5NMP80j1J T4/A==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1769157497; x=1769762297; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=7/qKuZ585lNtJcZjI30e51S0A25gB3ZNYXrRXLC4cRU=; b=idNBvC6MfMCyCfZi6afYv46Dnfam5b6FvI7puZxtvjPaZdlWlvIuD6JBwFc7oE48Lu SrMCBfTL3g5hz2h/cOpBbeBBLdVqL33BIAIQI9+rC+ZloDZOjs1SEZiT3FnbbNgdxfLD yV2ckJ6zCU3q5J0mj/Ue9s4b2NKHwquSyrc9OXp24l5Q4vhf+MV6sb3GQjKR5eDMzqOn mEyQoeyooDb/oBfA1Xh15xlFQiT3HARwNWYdfOTM31v6qtLdiM8Ct5+SiIv3stvmFx/Y rm9IB2v5yQHttXVXrJzeaLz9s0yttj50Fxm3b9pp68h4jDzE6Fssh5dzE/DM5GlviS5h S4dA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769157497; x=1769762297; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date :message-id:reply-to; bh=7/qKuZ585lNtJcZjI30e51S0A25gB3ZNYXrRXLC4cRU=; b=o0JMTgMy+2uppy+c54baKyzfFletV4n7Wfj5FS2duuklGyi+IZqXNSaD2PGkHyVTcX 9teYuEmH+b1tZvuieR/5XVZ1DSsDc2AjDSyV5XpdGrOc8/gtoubFsUTjDDB2mzIu8Hht ja8Fm/xYjwQtIwehfEUKagTc+dAO8HY6p8eHWb9pJ7PBrkxPhMTUWCfBbmvJyiah/xI4 uvF1jCl1/J60ryaWKvCQIuDucUe4ALCNB5o4ZJ4yEwBSbLaVFklm9Tuzwx8P4mUynKcm P+a1LGATjdSv2AlF8/O6zlF8lOYsxvcmyphA3mpsvF5CHJEP8spQIaGqNGzBGQOrZhOJ UpZg== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCV9uxFL7RLdYtfvLwh9XDNbVgg4GTfTeJK1kUXOZ79lUMKmGvekZf3ZDI+o5hdVCfbS0SvYp8M=@isar-build.org X-Gm-Message-State: AOJu0YyMjJjbQt8epcdaxiIcF34CxEIbyyb4nwATK98yRxVCjeN20DNf f3aCdMvFdCPDlwzYC/PDCbYWd3wBt6Gbw9KuirG4y4ll1OyysVD3K3Jd X-Received: by 2002:a05:600c:34d0:b0:47d:25ac:3a94 with SMTP id 5b1f17b1804b1-4804f5adcbfmr19267685e9.17.1769156707230; Fri, 23 Jan 2026 00:25:07 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="AV1CL+FHhMJlysmYWhRgwZEGovPaabomqzILSZGx/YF5DlljjA==" Received: by 2002:a05:600c:3b89:b0:47e:e788:97d5 with SMTP id 5b1f17b1804b1-48046e3a47bls14481795e9.0.-pod-prod-06-eu; Fri, 23 Jan 2026 00:25:05 -0800 (PST) X-Received: by 2002:a5d:5d11:0:b0:435:b068:d3be with SMTP id ffacd0b85a97d-435b16057bfmr3464067f8f.41.1769156705044; Fri, 23 Jan 2026 00:25:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769156705; cv=none; d=google.com; s=arc-20240605; b=IM6/jHkyqhwYyjBv27g996JQRox5/3uAlgWh0q0pW5s5QIeEVeHaWE4h9ASmoQ2B71 8fADTSm+4UrXsiDD0jB33H5WGEGqlBrcSP5G/reljxDgI3idhcdHX5Cd+80tzxpfb5P+ p0g8S4wkFcGYkVXw7jOByqJtjCtiTa8nVDI3bfPYw76RbuDS8WRhp3DADej3BsMLIK6k xONhRoU6B48TbG4Fusd1g7ZGg5/PiBRKQcfrBxiu2VFOI+Ej9xYAHtQODcKXiy9ATEjH DUcqhzRil2XTeCQahe7scB5NktNv0Wl8nGwf8xpPpsj+hdm9bAMWnK2zA4QYyrG7aj0f 6f+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=7M5lNn8bVD2FmTZrAeVEVw+XZugNUvFFCANVEMJ5r7g=; fh=V42d4Y/lNDOgZ/9/qsphFBeZCU4sz3YugfOOjBc+1H8=; b=dGaqROsEUWZWnq5Dym+Zpu6OUn7v7JFBPZPRHrit97192LrDcQTBBiYGbU4MHTcF6h KoKrkBKAPDkxSIkK30G462X1T1L//hmvJ74pa+b5MC4dLrU6URb4gRNz0yW8R8YfNBnq jOmJDUgvCnRmlFLYoMeAhSnYHmDECpjEL+CbkxJCqr/b0MaT341ZBffS6dhU94lIeUdj yuoQuWeJRKqaLddZQkrSvlAho9kzGP0/nUiZF52T1lG+eIij5K/fH0Rv4lsn3dispJ/u Gu7VkXCMJFX36HPYhPlbT2h5rBuyYayGjQq+2Kl+FB9fPLqXaS8vAQglr5qYkEkJguhl I3DQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id ffacd0b85a97d-435b1bfa5f5si43882f8f.1.2026.01.23.00.25.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 23 Jan 2026 00:25:05 -0800 (PST) Received-SPF: pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from debian-zwei.m.ilbers.de ([88.130.203.42]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPA id 60N8P1Xn014977; Fri, 23 Jan 2026 09:25:04 +0100 From: Zhihang Wei To: isar-users@googlegroups.com, felix.moessbauer@siemens.com, amikan@ilbers.de Cc: wzh@ilbers.de, cedric.hombourger@siemens.com Subject: [PATCH v3 08/20] ci: add support for sstate cache Date: Fri, 23 Jan 2026 09:24:49 +0100 Message-Id: <20260123082501.240751-9-wzh@ilbers.de> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260123082501.240751-1-wzh@ilbers.de> References: <20260123082501.240751-1-wzh@ilbers.de> MIME-Version: 1.0 X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, 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-Original-Sender: wzh@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: "MOESSBAUER, Felix" The gitlab CI jobs should finish in a timely manner to give quick feedback to the developer. By running the tests with sstate cache, simple changes require far less CI time. We prepare the gitlab ci job description to pick up the sstate cache configuration from the environment and enable the caching for all jobs (we always enable it, even if running without sstate cache, as then the cache is simply thrown away later on). We further introduce a (manual) info task to show the state of the cache, as well as a cleanup task to drain the cache. Signed-off-by: Felix Moessbauer --- .gitlab-ci.yml | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f82ddf11..ce12e26c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,12 +6,22 @@ variables: .common-build: &common-build stage: build + variables: + RUNNER_AFTER_SCRIPT_TIMEOUT: 15m before_script: - export http_proxy=$HTTP_PROXY - export https_proxy=$HTTPS_PROXY - export ftp_proxy=$FTP_PROXY - export no_proxy=$NO_PROXY - export DISTRO_APT_PREMIRRORS=$DISTRO_APT_PREMIRRORS + after_script: + - | + if [[ -n "${SSTATE_LOCATION}" ]] && [[ -d "sstate-cache" ]]; then + echo "=== Upload sstate artifacts to ${SSTATE_LOCATION} ===" + ./scripts/isar-sstate --filter '^(?!isar-image-)' upload "sstate-cache" "${SSTATE_LOCATION}" + ./scripts/isar-sstate info -v "${SSTATE_LOCATION}" + fi + artifacts: name: "logs-$CI_JOB_ID" paths: @@ -48,7 +58,7 @@ dev-ci: - *use-default-image - if: $TESTSUITE == 'dev' || $CI_PIPELINE_SOURCE != 'schedule' script: - - scripts/ci_build.sh -T dev + - scripts/ci_build.sh --sstate 1 -T dev fast-ci: <<: *common-build @@ -56,7 +66,7 @@ fast-ci: - *use-default-image - if: $TESTSUITE == 'fast' script: - - scripts/ci_build.sh -T fast + - scripts/ci_build.sh --sstate 1 -T fast full-ci: <<: *common-build @@ -68,7 +78,7 @@ full-ci: - PREVIOUS_SHA="$(cat .CI_COMMIT_SHA || true)" - if [ "$CI_COMMIT_SHA" != "$PREVIOUS_SHA" ]; then echo "$CI_COMMIT_SHA" > .CI_COMMIT_SHA; - scripts/ci_build.sh -T full; + scripts/ci_build.sh --sstate 1 -T full; fi cache: key: "$CI_COMMIT_REF_SLUG" @@ -83,7 +93,7 @@ dev-ci-isar: - *use-docker-isar-image - if: $TESTSUITE == 'dev' script: - - scripts/ci_build.sh -T dev + - scripts/ci_build.sh --sstate 1 -T dev fast-ci-isar: <<: *docker-isar @@ -92,7 +102,7 @@ fast-ci-isar: - *use-docker-isar-image - if: $TESTSUITE == 'fast' script: - - scripts/ci_build.sh -T fast + - scripts/ci_build.sh --sstate 1 -T fast full-ci-isar: <<: *docker-isar @@ -101,4 +111,18 @@ full-ci-isar: - *use-docker-isar-image - if: $TESTSUITE == 'full' script: - - scripts/ci_build.sh -T full + - scripts/ci_build.sh --sstate 1 -T full + +sstate-cache-info: + stage: build + when: manual + script: + - ./scripts/isar-sstate info -v "${SSTATE_LOCATION}" + +sstate-cache-clean: + stage: build + when: manual + variables: + SSTATE_MAX_AGE: "0d" + script: + - ./scripts/isar-sstate clean "${SSTATE_LOCATION}" --max-age "${SSTATE_MAX_AGE}"