| name: Spread |
| |
| concurrency: |
| group: ${{ github.workflow }}-${{ github.event.number && format('pr{0}', github.event.number) || github.run_id }} |
| cancel-in-progress: true |
| |
| on: |
| push: |
| branches: |
| - main |
| - release/[0-9]+.[0-9]+ |
| tags: |
| - v[0-9]+[0-9]+.[0-9]+ |
| merge_group: |
| types: [checks_requested] |
| pull_request: |
| types: [opened, synchronize, reopened, ready_for_review] |
| |
| jobs: |
| BuildAndTest: |
| strategy: |
| fail-fast: false |
| matrix: |
| spread-task: |
| - lxd:ubuntu-24.04:...:gcc |
| - lxd:ubuntu-24.10:...:gcc |
| - lxd:ubuntu-25.04:...:gcc |
| - lxd:ubuntu-25.04:...:clang |
| - lxd:fedora-41:...:gcc |
| - lxd:fedora-42:...:gcc |
| - lxd:fedora-rawhide:...:gcc |
| - lxd:alpine-3.20:...:gcc |
| - lxd:alpine-3.21:...:gcc |
| - lxd:ubuntu-devel:...:gcc |
| - lxd:ubuntu-devel:...:clang |
| - lxd:alpine-edge:...:gcc |
| - lxd:archlinux-cloud:...:gcc |
| |
| runs-on: ubuntu-latest |
| |
| env: |
| DEBFULLNAME: "Mir CI Bot" |
| DEBEMAIL: "mir-ci-bot@canonical.com" |
| |
| steps: |
| - name: Set up LXD |
| uses: canonical/setup-lxd@main |
| |
| - name: Set up Spread |
| run: | |
| set -euo pipefail |
| sudo snap install spread-mir-ci |
| sudo snap run lxd init --auto |
| |
| - name: Check out code |
| uses: actions/checkout@v4 |
| |
| - name: Run Spread task |
| run: snap run spread-mir-ci.spread -v ${{ matrix.spread-task }} |