From 364c72db72812e337a08813019bfd8d6c84ce1a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Falc=C3=B3n?= Date: Fri, 22 May 2026 16:05:48 +0100 Subject: [PATCH] fix: build arm64 images on native runners (#419) ## Summary - build arm64 Docker images on native GitHub arm runners instead of QEMU - create Sentry release in deploy job so deploy no longer races registry publishing ## Verification - php artisan test --compact tests/Feature/SentryConfigTest.php - vendor/bin/pint --dirty --format agent - yq parsed .github/workflows/ci.yml - git diff --check --- .github/workflows/ci.yml | 21 +++++++++++++++------ tests/Feature/SentryConfigTest.php | 1 + 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7516ad59..26eb1030 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -445,7 +445,7 @@ jobs: cache-to: type=gha,mode=max,scope=production build-arm64-images: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04-arm timeout-minutes: 75 needs: build-image if: needs.build-image.result == 'success' @@ -458,11 +458,6 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - with: - platforms: arm64 - - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -634,6 +629,20 @@ jobs: if: steps.deploy_guard.outputs.should_deploy == 'true' run: curl -sL https://sentry.io/get-cli/ | bash + - name: Create Sentry release + if: steps.deploy_guard.outputs.should_deploy == 'true' + env: + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + SENTRY_ORG: ${{ secrets.SENTRY_ORG }} + SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} + run: | + if ! sentry-cli releases info "$SENTRY_RELEASE" >/dev/null 2>&1; then + sentry-cli releases new "$SENTRY_RELEASE" + fi + + sentry-cli releases set-commits "$SENTRY_RELEASE" --auto --ignore-missing + sentry-cli releases finalize "$SENTRY_RELEASE" + - name: Mark Sentry release deployed if: steps.deploy_guard.outputs.should_deploy == 'true' env: diff --git a/tests/Feature/SentryConfigTest.php b/tests/Feature/SentryConfigTest.php index 3a713cb6..1f1a5c02 100644 --- a/tests/Feature/SentryConfigTest.php +++ b/tests/Feature/SentryConfigTest.php @@ -9,5 +9,6 @@ it('does not wait for registry image publishing before marking a sentry deploy', expect($workflow) ->toContain("deploy:\n runs-on: ubuntu-latest\n needs: [tests, linter, static-analysis, performance-tests, changes]") + ->toContain('sentry-cli releases new "$SENTRY_RELEASE"') ->toContain('run: sentry-cli releases deploys "$SENTRY_RELEASE" new -e production'); });