diff --git a/.github/workflows/snap_packaging_jobs.yml b/.github/workflows/snap_packaging_jobs.yml index 8c3568378..0a6beae88 100644 --- a/.github/workflows/snap_packaging_jobs.yml +++ b/.github/workflows/snap_packaging_jobs.yml @@ -103,15 +103,13 @@ jobs: mkdir -p ~/.local/share/snapcraft/ echo "$LAUNCHPAD_CREDS" > ~/.local/share/snapcraft/launchpad-credentials python3 tools/snap/build_remote.py ALL --archs "$SNAP_ARCH" --timeout ${{ env.snapBuildTimeout }} - - name: Prepare artifacts - run: |- - mv *.snap ${{ runner.temp }} - mv certbot-dns-*/*.snap ${{ runner.temp }} - name: Store snaps artifacts uses: actions/upload-artifact@v7.0.0 with: name: snaps_"$SNAP_ARCH" - path: "${{ runner.temp }}" + path: | + *.snap + certbot-dns-*/*.snap snap_run: name: snap_run ${{ matrix.arch-name }} needs: @@ -152,10 +150,17 @@ jobs: run: |- python3 -m venv venv venv/bin/python tools/pip_install.py -U tox - - name: Retrieve Certbot snaps + - name: Retrieve Certbot snaps armhf + if: ${{ matrix.arch-name == 'armhf' }} uses: actions/download-artifact@v8.0.1 with: - name: snap-certbot-${{ matrix.arch-name }} + name: snaps_${{ matrix.arch-name }} + path: "${{ github.workspace }}/snap" + - name: Retrieve Certbot snaps non-armhf + if: ${{ matrix.arch-name != 'armhf' }} + uses: actions/download-artifact@v8.0.1 + with: + pattern: snap-certbot-${{ matrix.arch-name }} path: "${{ github.workspace }}/snap" - name: Install Certbot snap run: |- @@ -168,6 +173,7 @@ jobs: needs: - gha_build_dns_snaps - gha_build_snap + - launchpad_build_all runs-on: - ${{ matrix.run-on }} strategy: @@ -178,17 +184,35 @@ jobs: run-on: ubuntu-24.04-arm - arch-name: amd64 run-on: ubuntu-24.04 + - arch-name: armhf + run-on: ubuntu-24.04-arm steps: - name: checkout uses: actions/checkout@v6.0.2 - - name: Install dependencies + - name: Install armhf dependencies + if: ${{ matrix.arch-name == 'armhf' }} + run: |- + sudo dpkg --add-architecture armhf + sudo apt-get update + # apparmor will conflict with snapd:armhf dependency if not removed first + sudo apt-get remove -y apparmor + sudo apt-get install -y --no-install-recommends snapd:armhf + - name: Install non-armhf depdencies + if: ${{ matrix.arch-name != 'armhf' }} run: |- sudo apt-get update sudo apt-get install -y --no-install-recommends snapd - uses: actions/setup-python@v5.0.0 with: python-version: '3.12' - - name: Retrieve Certbot snaps + - 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' }} uses: actions/download-artifact@v8.0.1 with: pattern: snap-*-${{ matrix.arch-name }}