diff --git a/.github/workflows/spread.yaml b/.github/workflows/spread.yaml index b3bf653b3..62ddb3472 100644 --- a/.github/workflows/spread.yaml +++ b/.github/workflows/spread.yaml @@ -8,7 +8,10 @@ on: jobs: snap-build: - runs-on: [self-hosted, amd64] + strategy: + matrix: + arch: [amd64, arm64] + runs-on: [self-hosted, "${{ matrix.arch }}"] steps: - name: Checkout code uses: actions/checkout@v4 @@ -20,7 +23,7 @@ jobs: - name: Upload snap artifact uses: actions/upload-artifact@v4 with: - name: snap + name: snap-${{ matrix.arch }} path: ${{ steps.snap.outputs.snap }} snap-tests: @@ -29,8 +32,12 @@ jobs: strategy: fail-fast: false matrix: - spread: - - "google:" + arch: [amd64, arm64] + include: + - arch: amd64 + spread: "google:" + - arch: arm64 + spread: "google-arm:" steps: - name: Cleanup job workspace @@ -47,7 +54,7 @@ jobs: - name: Download snap artifact uses: actions/download-artifact@v4 with: - name: snap + name: snap-${{ matrix.arch }} - name: Run spread run: | diff --git a/spread.yaml b/spread.yaml index 20485dde9..69d54f77a 100644 --- a/spread.yaml +++ b/spread.yaml @@ -13,6 +13,17 @@ exclude: - .venv backends: + google-arm: + type: google + key: '$(HOST: echo "$SPREAD_GOOGLE_KEY")' + location: snapd-spread/us-east1-b + halt-timeout: 2h + systems: + - ubuntu-24.04-arm64: + image: ubuntu-24.04-arm-64 + workers: 4 + storage: 40G + google: key: '$(HOST: echo "$SPREAD_GOOGLE_KEY")' location: snapd-spread/us-east1-b