From patchwork Thu May 7 22:14:58 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 2291 Return-Path: X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1778192148; bh=qiH+PterXI6IUNIstMp4ebTuXvP2TQTkUh0F5Xwrl+c=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=pA/dO/+L/lDXoLY1cR9aMcJgHC8viFBqpo+chK/PCCMG0H4x+Y8fqFzNa7IyN0g96 aGcqKNJS/lFspvRivXfcM7XKbJ6mfQBDnimy04AUcoiX4jg5Irl+nudeZ6X+Ym4nop L2bFfsAEwTTl2W9ROtIEEwU5PBs85rw0fsNqZiuA= Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id D861F6A9A9 for ; Thu, 7 May 2026 16:15:48 -0600 (MDT) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id MTTnHCIdK3IW for ; Thu, 7 May 2026 16:15:48 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1778192146; bh=qiH+PterXI6IUNIstMp4ebTuXvP2TQTkUh0F5Xwrl+c=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=lWfBbrsg6emksa8AJtAH31+wizJDJM/gEpSQ9eorSNSBhcWTRx9/seMd7fMQGFlkA mM6uH86ln4tK4HAfdOxHEkoH4TF6yFY336G5rVbXdTat4NlL9RfOgHnN0Wh/wDO4z1 KaXGVQpboLXYnf1pjwkZZ0yidAOgtFT97ENSj07o= Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id D3ADF6A9A8 for ; Thu, 7 May 2026 16:15:46 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1778192144; bh=e5mwon6GQtiGBytv0RMzfI+DJu6QVvI0bDGTSoTh5qg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SE3TF9ZunVTtn116eiW9RDtn1SlP/AiUBBOuQrhfkUa5aql4DhToKD6YNVHh7ASEk qnaFlKoNxfVoDnCncrkDbbi0kNNpRmECen8YxcjRcp9oLtcisn6GFU/7P3YOTMh5lB T3K6uVoVdggdDtnuCIAzv78alDRb2dnSZR12cP7U= Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 860376A9A8; Thu, 7 May 2026 16:15:44 -0600 (MDT) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id 9OycKJYyZIdo; Thu, 7 May 2026 16:15:44 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1778192142; bh=W1XxcGOUvZfps3hw/gYCnK/qlFpbwa53Flc1RYWnMJc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IijA8YgdgfwwuUsHreEV8IW9kELLLbdyUzZvLyuPw7dAyJJRNyCIW3D3qVa2VInld JNAqvnn/UZAY3jo+ZZPwb3LSVsCDzNhdDqb6DAR5MzP99C6unuzXbPSCB5GwAAc/xu 9OM+NyyyKycZSxU9mgL50PJqmuJa+I7RTlqyxOvI= Received: from u-boot.org (unknown [174.51.25.52]) by mail.u-boot.org (Postfix) with ESMTPSA id 56FF16A9A9; Thu, 7 May 2026 16:15:42 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Thu, 7 May 2026 16:14:58 -0600 Message-ID: <20260507221507.505998-14-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260507221507.505998-1-sjg@u-boot.org> References: <20260507221507.505998-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: KR7RKE4QBTT26UJW6SFMX5R6XPZWP7XI X-Message-ID-Hash: KR7RKE4QBTT26UJW6SFMX5R6XPZWP7XI X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 13/13] gitlab-ci: Add sjg-lab-slow stage and Ubuntu install job List-Id: Discussion and patches related to U-Boot Concept Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Simon Glass test_distro_ubuntu_iso_install runs a full unattended install of Ubuntu through U-Boot + BLS, which takes 30 to 45 minutes under QEMU. It needs its own stage so the sjg-lab matrix is not held up waiting for it, and its own opt-in variable so SJG_LAB consumers do not pull it in by accident. Introduce a sjg-lab-slow stage running after sjg-lab and a matching .sjg_lab_slow_template. The new template inherits sjg_lab_dfn's script and artifacts but replaces its rules, gating on a new SJG_LAB_SLOW variable rather than SJG_LAB so slow jobs can be opted into without also pulling in the rest of the sjg-lab matrix: - run unconditionally when SJG_LAB_SLOW matches the role name (or is set to '1' for every slow job) - auto-run on merge_request_event, the same as sjg_lab_dfn - on other pipelines (push, schedule), appear as a manual-trigger button with allow_failure so they never block a pipeline - honour [skip-sjg-slow] in the MR description as a slow-only escape hatch (independent of the sjg-lab [skip-sjg] hatch) Add the efi-x86_64-uboot-iso-install job using the new template and set timeout: 2h to cover the install plus first-boot slack. Signed-off-by: Simon Glass --- .gitlab-ci.yml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2d0277f9c27..b850e14a49f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,6 +21,7 @@ variables: WORLD: "1" SAGE_LAB: "" SJG_LAB: "" + SJG_LAB_SLOW: "" PLATFORM: linux/amd64,linux/arm64 GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_RUNNER_ID/$CI_CONCURRENT_ID/u-boot @@ -40,6 +41,7 @@ stages: - test.py - sage-lab - sjg-lab + - sjg-lab-slow - world_build - version_bump - release @@ -899,6 +901,29 @@ coreboot test.py: - "build/${ROLE}/multiplexed_log.css" expire_in: 1 week +# Slow lab jobs (e.g. full distro installs). Same script/artifacts as +# sjg_lab_dfn but in a later stage and gated on its own SJG_LAB_SLOW variable so +# slow jobs can be opted into without pulling in the rest of the sjg-lab matrix. +# Auto-runs on merge_request_event like sjg_lab_dfn; on other pipelines (push, +# schedule) it appears as a manual-trigger button with allow_failure so it never +# blocks a pipeline. Set [skip-sjg-slow] in the MR description to skip just the +# slow jobs (independent of the sjg-lab [skip-sjg] hatch). +.sjg_lab_slow_template: &sjg_lab_slow_dfn + <<: *sjg_lab_dfn + stage: sjg-lab-slow + rules: + - if: $CI_MERGE_REQUEST_DESCRIPTION =~ /\[skip-sjg-slow\]/ + when: never + - if: $SJG_LAB_SLOW == $ROLE || $SJG_LAB_SLOW == "1" + when: always + - if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: always + - if: $SJG_LAB_SLOW != "" && $SJG_LAB_SLOW != "1" && $SJG_LAB_SLOW != $ROLE + when: never + - if: $SJG_LAB_SLOW == "" + when: manual + allow_failure: true + rpi3: variables: ROLE: rpi3 @@ -1062,6 +1087,18 @@ efi-x86_64-uboot-iso: TEST_PY_TEST_SPEC: "and test_distro_ubuntu_iso_uboot" <<: *sjg_lab_dfn +# Full unattended install of Ubuntu: the role's writer builds the ISO with +# --autoinstall, subiquity installs onto a blank target disk, and BLS is +# expected to pick up the kernel entries kernel-install creates on the installed +# ESP. Slow (~30-45 min), so lives in sjg-lab-slow: manual-trigger only on +# MRs; set SJG_LAB_SLOW to the role name (or '1') to force an automatic run. +efi-x86_64-uboot-iso-install: + variables: + ROLE: efi-x86_64-uboot-iso-install + TEST_PY_TEST_SPEC: "and test_distro_ubuntu_iso_install" + timeout: 2h + <<: *sjg_lab_slow_dfn + # NVIDIA Jetson TK1 tk1: variables: