From 9b32a14b5f9f10f19d4e4fdc4c9a01bf6cb0149c Mon Sep 17 00:00:00 2001 From: Erica Portnoy Date: Thu, 4 Jun 2026 13:35:51 -0700 Subject: [PATCH] Split out armhf snap build into individual matrixed jobs --- .github/workflows/snap_packaging_jobs.yml | 36 ++++++++++------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/.github/workflows/snap_packaging_jobs.yml b/.github/workflows/snap_packaging_jobs.yml index 5a5f5563d..0222c23f5 100644 --- a/.github/workflows/snap_packaging_jobs.yml +++ b/.github/workflows/snap_packaging_jobs.yml @@ -88,11 +88,18 @@ jobs: name: snap-${{ matrix.dns-dir }}-${{ matrix.build-for }} path: ${{ steps.build.outputs.snap }} launchpad_build_all: - name: Build armhf snaps + name: Build ${{ matrix.target }} armhf runs-on: - ubuntu-24.04 env: SNAP_ARCH: "armhf" + needs: generate_dns_list_matrix + strategy: + fail-fast: false + matrix: + target: ${{ fromJSON(needs.generate_dns_list_matrix.outputs.dns-dirs) }} + include: + - target: certbot steps: - name: checkout uses: actions/checkout@v6.0.2 @@ -115,15 +122,15 @@ jobs: git config --global user.name "41898282+github-actions[bot]@users.noreply.github.com" mkdir -p ~/.local/share/snapcraft/ echo "$LAUNCHPAD_CREDS" > ~/.local/share/snapcraft/launchpad-credentials - python3 tools/snap/build_remote.py ALL --archs "$SNAP_ARCH" --timeout "$SNAP_BUILD_TIMEOUT" + python3 tools/snap/build_remote.py ${{ matrix.target }} --archs "$SNAP_ARCH" --timeout "$SNAP_BUILD_TIMEOUT" - name: Flatten snaps layout run: |- - mv *.snap ${{ runner.temp }} - mv certbot-dns-*/*.snap ${{ runner.temp }} - - name: Store snaps artifacts + mv *.snap ${{ runner.temp }} || true + mv certbot-dns-*/*.snap ${{ runner.temp }} || true + - name: Store snap artifact uses: actions/upload-artifact@v7.0.0 with: - name: snaps_${{ env.SNAP_ARCH }} + name: snap-${{ matrix.target }}-${{ env.SNAP_ARCH }} path: "${{ runner.temp }}/*.snap" snap_run: name: Test certbot ${{ matrix.arch-name }} @@ -167,14 +174,7 @@ jobs: run: |- python3 -m venv venv venv/bin/python tools/pip_install.py -U tox - - name: Retrieve Certbot snaps armhf - if: ${{ matrix.arch-name == 'armhf' }} - uses: actions/download-artifact@v8.0.1 - with: - name: snaps_${{ matrix.arch-name }} - path: "${{ github.workspace }}/snap" - - name: Retrieve Certbot snaps non-armhf - if: ${{ matrix.arch-name != 'armhf' }} + - name: Retrieve Certbot snap uses: actions/download-artifact@v8.0.1 with: pattern: snap-certbot-${{ matrix.arch-name }} @@ -224,13 +224,7 @@ jobs: - uses: actions/setup-python@v6.2.0 with: python-version: '3.12' - - name: Retrieve Certbot snaps armhf - if: ${{ matrix.arch-name == 'armhf' }} - uses: actions/download-artifact@v8.0.1 - with: - name: snaps_${{ matrix.arch-name }} - path: "${{ github.workspace }}/snap" - - name: Retrieve Certbot snaps non-armhf + - name: Retrieve snaps if: ${{ matrix.arch-name != 'armhf' }} uses: actions/download-artifact@v8.0.1 with: