From a637e62ad0774b25f271434c804c3352073aee99 Mon Sep 17 00:00:00 2001 From: Nathan Blackham Date: Fri, 29 May 2026 11:07:27 -0600 Subject: [PATCH 1/3] github-actions: Upload kselftests/LTP tarballs; add no_pr dispatch input Three changes to the multi-arch workflow: 1. Two new upload-artifact steps publish the kselftests and LTP install tree tarballs produced by ctrliq/kernel-container-build's Steps 3.5 and 4.5 (see the paired PR there): - kselftests-binaries-: output/kselftests-*.tar.xz - ltp-binaries-: output/ltp-*.tar.xz Both honor the existing skip_kselftests / skip_ltp metadata and use if-no-files-found: warn so a missing tarball is non-fatal. 2. A new workflow_dispatch input no_pr (bool, default false) lets manual reruns suppress the PR creation/update step. Useful for integration testing without producing a spurious "[BASE_BRANCH] ..." PR labeled created-by-kernelci. 3. The create-pr job's if-condition now includes `(github.event_name != 'workflow_dispatch' || !inputs.no_pr)` so normal workflow_run events are unaffected and manual dispatches honor the new opt-out. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../kernel-build-and-test-multiarch.yml | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/.github/workflows/kernel-build-and-test-multiarch.yml b/.github/workflows/kernel-build-and-test-multiarch.yml index bbf235678ec40..bc6233385f8f4 100644 --- a/.github/workflows/kernel-build-and-test-multiarch.yml +++ b/.github/workflows/kernel-build-and-test-multiarch.yml @@ -11,6 +11,11 @@ on: description: "Workflow run ID to fetch artifacts from" required: true type: string + no_pr: + description: "Skip PR creation/update at the end of the run (for testing only)" + required: false + type: boolean + default: false permissions: contents: read @@ -368,6 +373,17 @@ jobs: output/last_build_image.txt retention-days: 7 + # Upload kselftests binaries tarball (the /var/kselftests install tree) for + # downstream testing on hosts that match the kernel release + arch. + - name: Upload kselftests binaries tarball + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + if: ${{ always() && needs.pre-setup.outputs.skip_kselftests == 'false' }} + with: + name: kselftests-binaries-${{ matrix.arch }} + path: output/kselftests-*.tar.xz + retention-days: 7 + if-no-files-found: warn + # Upload LTP qcow2 image - name: Upload LTP qcow2 image uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 @@ -380,6 +396,17 @@ jobs: output/last_build_image.txt retention-days: 7 + # Upload LTP binaries tarball (the /opt/ltp install tree) for downstream + # testing on any arch-matching host. + - name: Upload LTP binaries tarball + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + if: ${{ always() && needs.pre-setup.outputs.skip_ltp == 'false' }} + with: + name: ltp-binaries-${{ matrix.arch }} + path: output/ltp-*.tar.xz + retention-days: 7 + if-no-files-found: warn + # Upload plain boot qcow2 image (only when both kselftests and LTP are skipped) - name: Upload plain boot qcow2 image uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 @@ -1175,10 +1202,14 @@ jobs: name: Create Pull Request runs-on: kernel-build needs: [pre-setup, setup, build, boot, test-kselftest, compare-kselftest, test-ltp, compare-ltp] + # The (workflow_dispatch || !no_pr) clause lets manual reruns opt out of + # PR creation by passing -f no_pr=true. workflow_run events (normal CI) + # are unaffected since inputs.no_pr is not set there. if: | always() && needs.build.result == 'success' && - needs.boot.result == 'success' + needs.boot.result == 'success' && + (github.event_name != 'workflow_dispatch' || !inputs.no_pr) steps: - name: Check if branch name matches a supported pattern From 832854d7470f23b13c1373843c41aa5db93903a7 Mon Sep 17 00:00:00 2001 From: Nathan Blackham Date: Fri, 29 May 2026 11:07:51 -0600 Subject: [PATCH 2/3] TEST ONLY: point kernel-container-build at extract-test-suite-tarballs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DO NOT MERGE — revert before opening for review. Pins the workflow's kernel-container-build checkout to the extract-test-suite-tarballs branch so workflow_dispatch can exercise the new kselftests/LTP tarball extraction steps end-to-end before ctrliq/kernel-container-build#33 lands on main. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/kernel-build-and-test-multiarch.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/kernel-build-and-test-multiarch.yml b/.github/workflows/kernel-build-and-test-multiarch.yml index bc6233385f8f4..8a039e1f7c60b 100644 --- a/.github/workflows/kernel-build-and-test-multiarch.yml +++ b/.github/workflows/kernel-build-and-test-multiarch.yml @@ -289,7 +289,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: ctrliq/kernel-container-build - ref: main + ref: extract-test-suite-tarballs path: kernel-container-build token: ${{ steps.generate_token.outputs.token }} @@ -440,7 +440,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: ctrliq/kernel-container-build - ref: main + ref: extract-test-suite-tarballs path: kernel-container-build token: ${{ steps.generate_token.outputs.token }} @@ -522,7 +522,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: ctrliq/kernel-container-build - ref: main + ref: extract-test-suite-tarballs path: kernel-container-build token: ${{ steps.generate_token.outputs.token }} @@ -592,7 +592,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: ctrliq/kernel-container-build - ref: main + ref: extract-test-suite-tarballs path: kernel-container-build token: ${{ steps.generate_token.outputs.token }} @@ -690,7 +690,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: ctrliq/kernel-container-build - ref: main + ref: extract-test-suite-tarballs path: kernel-container-build token: ${{ steps.generate_token.outputs.token }} From b8c2bf9f644d7bec5855089714686c6902c59b5c Mon Sep 17 00:00:00 2001 From: Nathan Blackham Date: Mon, 1 Jun 2026 09:03:19 -0600 Subject: [PATCH 3/3] Revert "TEST ONLY: point kernel-container-build at extract-test-suite-tarballs" This reverts commit 832854d7470f23b13c1373843c41aa5db93903a7. --- .github/workflows/kernel-build-and-test-multiarch.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/kernel-build-and-test-multiarch.yml b/.github/workflows/kernel-build-and-test-multiarch.yml index 8a039e1f7c60b..bc6233385f8f4 100644 --- a/.github/workflows/kernel-build-and-test-multiarch.yml +++ b/.github/workflows/kernel-build-and-test-multiarch.yml @@ -289,7 +289,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: ctrliq/kernel-container-build - ref: extract-test-suite-tarballs + ref: main path: kernel-container-build token: ${{ steps.generate_token.outputs.token }} @@ -440,7 +440,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: ctrliq/kernel-container-build - ref: extract-test-suite-tarballs + ref: main path: kernel-container-build token: ${{ steps.generate_token.outputs.token }} @@ -522,7 +522,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: ctrliq/kernel-container-build - ref: extract-test-suite-tarballs + ref: main path: kernel-container-build token: ${{ steps.generate_token.outputs.token }} @@ -592,7 +592,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: ctrliq/kernel-container-build - ref: extract-test-suite-tarballs + ref: main path: kernel-container-build token: ${{ steps.generate_token.outputs.token }} @@ -690,7 +690,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: ctrliq/kernel-container-build - ref: extract-test-suite-tarballs + ref: main path: kernel-container-build token: ${{ steps.generate_token.outputs.token }}