From c19f2148c13baba58cef49f79d60c7957b7dae44 Mon Sep 17 00:00:00 2001 From: mr-cal-bot Date: Thu, 5 Nov 2026 13:15:20 -0600 Subject: [PATCH] ci: test starflow run-spread action in spread workflows Signed-off-by: mr-cal-bot --- .github/workflows/spread-manual.yaml | 122 ++++++++++++++++++++++----- .github/workflows/spread.yml | 44 ++++++++-- 2 files changed, 140 insertions(+), 26 deletions(-) diff --git a/.github/workflows/spread-manual.yaml b/.github/workflows/spread-manual.yaml index a5cff3c764..59b741cb8d 100644 --- a/.github/workflows/spread-manual.yaml +++ b/.github/workflows/spread-manual.yaml @@ -69,11 +69,23 @@ jobs: name: snap path: tests - name: Kernel plugin test - run: | - spread openstack:ubuntu-22.04-64:tests/spread/plugins/craft-parts/kernel \ - openstack:ubuntu-22.04-64:tests/spread/plugins/craft-parts/kernel-bin \ - openstack:ubuntu-22.04-64:tests/spread/plugins/craft-parts/kernel-cross \ - openstack:ubuntu-22.04-64:tests/spread/plugins/craft-parts/kernel-deb + uses: canonical/starflow/run-spread@work/junit-for-spread # zizmor: ignore[unpinned-uses] testing a starflow branch + with: + args: >- + openstack:ubuntu-22.04-64:tests/spread/plugins/craft-parts/kernel + openstack:ubuntu-22.04-64:tests/spread/plugins/craft-parts/kernel-bin + openstack:ubuntu-22.04-64:tests/spread/plugins/craft-parts/kernel-cross + openstack:ubuntu-22.04-64:tests/spread/plugins/craft-parts/kernel-deb + junit-name: kernel-plugins + + - name: Upload test results + if: always() + uses: actions/upload-artifact@v7 + with: + name: test-results-kernel-plugins + path: results/junit*.xml + overwrite: true + if-no-files-found: ignore initrd-plugins: needs: [predicate, snap-build] @@ -95,8 +107,19 @@ jobs: name: snap path: tests - name: Initrd plugin test - run: | - spread openstack:ubuntu-22.04-64:tests/spread/plugins/craft-parts/initrd + uses: canonical/starflow/run-spread@work/junit-for-spread # zizmor: ignore[unpinned-uses] testing a starflow branch + with: + args: openstack:ubuntu-22.04-64:tests/spread/plugins/craft-parts/initrd + junit-name: initrd-plugins + + - name: Upload test results + if: always() + uses: actions/upload-artifact@v7 + with: + name: test-results-initrd-plugins + path: results/junit*.xml + overwrite: true + if-no-files-found: ignore - name: Discard spread workers if: always() @@ -126,11 +149,23 @@ jobs: name: snap path: tests - name: remote-build test + uses: canonical/starflow/run-spread@work/junit-for-spread # zizmor: ignore[unpinned-uses] testing a starflow branch env: LAUNCHPAD_TOKEN: "${{ secrets.LAUNCHPAD_TOKEN }}" - run: | - spread openstack:ubuntu-22.04-64:tests/spread/core22/remote-build \ + with: + args: >- + openstack:ubuntu-22.04-64:tests/spread/core22/remote-build openstack:ubuntu-24.04-64:tests/spread/core24/remote-build + junit-name: remote-build + + - name: Upload test results + if: always() + uses: actions/upload-artifact@v7 + with: + name: test-results-remote-build + path: results/junit*.xml + overwrite: true + if-no-files-found: ignore - name: Discard spread workers if: always() @@ -160,12 +195,24 @@ jobs: name: snap path: tests - name: colcon plugin test - run: | - spread openstack:ubuntu-22.04-64:tests/spread/core24-suites/plugins/colcon-hello \ - openstack:ubuntu-22.04-64:tests/spread/core24-suites/plugins/colcon-msg-package \ - openstack:ubuntu-22.04-64:tests/spread/core24-suites/plugins/colcon-packages-ignore \ - openstack:ubuntu-22.04-64:tests/spread/core24-suites/plugins/colcon-talker-listener \ + uses: canonical/starflow/run-spread@work/junit-for-spread # zizmor: ignore[unpinned-uses] testing a starflow branch + with: + args: >- + openstack:ubuntu-22.04-64:tests/spread/core24-suites/plugins/colcon-hello + openstack:ubuntu-22.04-64:tests/spread/core24-suites/plugins/colcon-msg-package + openstack:ubuntu-22.04-64:tests/spread/core24-suites/plugins/colcon-packages-ignore + openstack:ubuntu-22.04-64:tests/spread/core24-suites/plugins/colcon-talker-listener openstack:ubuntu-22.04-64:tests/spread/plugins/craft-parts/colcon-hello + junit-name: colcon-plugins + + - name: Upload test results + if: always() + uses: actions/upload-artifact@v7 + with: + name: test-results-colcon-plugins + path: results/junit*.xml + overwrite: true + if-no-files-found: ignore - name: Discard spread workers if: always() @@ -195,8 +242,19 @@ jobs: name: snap path: tests - name: extensions test - run: | - spread openstack.*:tests/spread/extensions/ + uses: canonical/starflow/run-spread@work/junit-for-spread # zizmor: ignore[unpinned-uses] testing a starflow branch + with: + args: openstack.*:tests/spread/extensions/ + junit-name: extensions + + - name: Upload test results + if: always() + uses: actions/upload-artifact@v7 + with: + name: test-results-extensions + path: results/junit*.xml + overwrite: true + if-no-files-found: ignore - name: Discard spread workers if: always() @@ -226,8 +284,19 @@ jobs: name: snap path: tests - name: Spread test - run: | - spread openstack:ubuntu-22.04-64:tests/spread/snaps/snapd + uses: canonical/starflow/run-spread@work/junit-for-spread # zizmor: ignore[unpinned-uses] testing a starflow branch + with: + args: openstack:ubuntu-22.04-64:tests/spread/snaps/snapd + junit-name: snapd-bases + + - name: Upload test results + if: always() + uses: actions/upload-artifact@v7 + with: + name: test-results-snapd-bases + path: results/junit*.xml + overwrite: true + if-no-files-found: ignore - name: Discard spread workers if: always() @@ -257,8 +326,21 @@ jobs: name: snap path: tests - name: Spread test - run: | - spread openstack:ubuntu-24.04-64:tests/spread/core24/squid-proxy openstack:ubuntu-22.04-64:tests/spread/core22/squid-proxy + uses: canonical/starflow/run-spread@work/junit-for-spread # zizmor: ignore[unpinned-uses] testing a starflow branch + with: + args: >- + openstack:ubuntu-24.04-64:tests/spread/core24/squid-proxy + openstack:ubuntu-22.04-64:tests/spread/core22/squid-proxy + junit-name: squid-proxy + + - name: Upload test results + if: always() + uses: actions/upload-artifact@v7 + with: + name: test-results-squid-proxy + path: results/junit*.xml + overwrite: true + if-no-files-found: ignore - name: Discard spread workers if: always() run: | diff --git a/.github/workflows/spread.yml b/.github/workflows/spread.yml index 952cca6284..da87b13835 100644 --- a/.github/workflows/spread.yml +++ b/.github/workflows/spread.yml @@ -82,7 +82,8 @@ jobs: name: snap path: tests - - name: Run Ubuntu Pro spread tests + - name: Check Ubuntu Pro token + id: pro-token if: matrix.spread-jobs != 'openstack:ubuntu-22.04-64' env: UBUNTU_PRO_TOKEN: ${{ secrets.UBUNTU_PRO_TOKEN }} @@ -93,16 +94,36 @@ jobs: exit 1 else echo "Warning: UBUNTU_PRO_TOKEN is not set. Skipping Pro tests" - exit 0 + echo "skip=true" >> "$GITHUB_OUTPUT" fi fi - spread ${{ matrix.spread-jobs }}:tests/spread/pro/ + + - name: Run Ubuntu Pro spread tests + if: matrix.spread-jobs != 'openstack:ubuntu-22.04-64' && steps.pro-token.outputs.skip != 'true' + uses: canonical/starflow/run-spread@work/junit-for-spread # zizmor: ignore[unpinned-uses] testing a starflow branch + env: + UBUNTU_PRO_TOKEN: ${{ secrets.UBUNTU_PRO_TOKEN }} + with: + args: ${{ matrix.spread-jobs }}:tests/spread/pro/ + junit-name: pro-${{ matrix.spread-jobs }} - name: Run spread + uses: canonical/starflow/run-spread@work/junit-for-spread # zizmor: ignore[unpinned-uses] testing a starflow branch env: UBUNTU_PRO_TOKEN: ${{ secrets.UBUNTU_PRO_TOKEN }} RUN_UA_TESTS: ${{ ! github.event.pull_request.head.repo.fork }} - run: spread ${{ matrix.spread-jobs }} + with: + args: ${{ matrix.spread-jobs }} + junit-name: ${{ matrix.spread-jobs }} + + - name: Upload test results + if: always() + uses: actions/upload-artifact@v7 + with: + name: test-results-${{ matrix.spread-jobs }} + path: results/junit*.xml + overwrite: true + if-no-files-found: ignore - name: Discard spread workers if: always() @@ -152,13 +173,24 @@ jobs: - if: steps.decisions.outputs.RUN == 'true' name: Run spread + uses: canonical/starflow/run-spread@work/junit-for-spread # zizmor: ignore[unpinned-uses] testing a starflow branch env: SNAPCRAFT_ASSERTION_KEY: "${{ secrets.SNAPCRAFT_ASSERTION_KEY }}" SNAPCRAFT_STORE_CREDENTIALS_STAGING: "${{ secrets.SNAPCRAFT_STORE_CREDENTIALS_STAGING }}" SNAPCRAFT_STORE_CREDENTIALS_STAGING_CANDID: "${{ secrets.SNAPCRAFT_STORE_CREDENTIALS_STAGING_CANDID }}" SNAPCRAFT_STORE_CREDENTIALS_STAGING_LEGACY: "${{ secrets.SNAPCRAFT_STORE_CREDENTIALS_STAGING_LEGACY }}" - run: | - spread openstack:ubuntu-22.04-64:tests/spread/store/ + with: + args: openstack:ubuntu-22.04-64:tests/spread/store/ + junit-name: store + + - name: Upload test results + if: always() && steps.decisions.outputs.RUN == 'true' + uses: actions/upload-artifact@v7 + with: + name: test-results-store + path: results/junit*.xml + overwrite: true + if-no-files-found: ignore - name: Discard spread workers if: always()