Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 102 additions & 20 deletions .github/workflows/spread-manual.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,23 @@
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]
Expand All @@ -95,8 +107,19 @@
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()
Expand Down Expand Up @@ -126,11 +149,23 @@
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()
Expand Down Expand Up @@ -160,12 +195,24 @@
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()
Expand Down Expand Up @@ -195,8 +242,19 @@
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()
Expand Down Expand Up @@ -226,8 +284,19 @@
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()
Expand Down Expand Up @@ -257,8 +326,21 @@
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: |
Expand Down
44 changes: 38 additions & 6 deletions .github/workflows/spread.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,8 @@
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 }}
Expand All @@ -93,16 +94,36 @@
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()
Expand Down Expand Up @@ -152,13 +173,24 @@

- 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()
Expand Down
Loading