release: 26.5.0 #557
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| push: | |
| branches: | |
| - main | |
| - release/** | |
| jobs: | |
| build-multiplatform-image-ghcr: | |
| name: build-multiplatform-image-ghcr-${{ matrix.platform }} | |
| if: ${{ github.repository_owner == 'getsentry' }} | |
| permissions: | |
| contents: read | |
| packages: write | |
| strategy: | |
| matrix: | |
| include: | |
| - os: ubuntu-24.04 | |
| platform: amd64 | |
| - os: ubuntu-24.04-arm | |
| # we aren't testing on linux/arm64 yet but at least make sure it builds | |
| platform: arm64 | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 | |
| - name: Build image | |
| uses: getsentry/action-build-and-push-images@b172ab61a5f7eabd58bd42ce231b517e79947c01 | |
| with: | |
| image_name: 'uptime-checker' | |
| platforms: linux/${{ matrix.platform }} | |
| dockerfile_path: './Dockerfile' | |
| build_args: UPTIME_CHECKER_GIT_REVISION=${{ github.event.pull_request.head.sha || github.sha }} | |
| publish_on_pr: true # required for self-hosted-end-to-end runs on pull requests | |
| ghcr: true | |
| google_ar: false | |
| tag_suffix: -${{ matrix.platform }} | |
| # note: nightly will only be tagged if on default branch | |
| tag_nightly: true | |
| tag_latest: false | |
| assemble-ghcr: | |
| needs: [build-multiplatform-image-ghcr] | |
| if: ${{ github.repository_owner == 'getsentry' }} | |
| name: Create multi-platform manifest | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Docker Login | |
| run: docker login --username '${{ github.actor }}' --password-stdin ghcr.io <<< "$GHCR_TOKEN" | |
| env: | |
| GHCR_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0 | |
| - name: Create multiplatform manifests | |
| run: | | |
| docker buildx imagetools create \ | |
| --tag ghcr.io/getsentry/uptime-checker:${{ github.event.pull_request.head.sha || github.sha }} \ | |
| ghcr.io/getsentry/uptime-checker:${{ github.event.pull_request.head.sha || github.sha }}-amd64 \ | |
| ghcr.io/getsentry/uptime-checker:${{ github.event.pull_request.head.sha || github.sha }}-arm64 | |
| - name: Tag nightly | |
| if: ${{ github.ref_name == github.event.repository.default_branch }} | |
| run: | | |
| docker buildx imagetools create \ | |
| --tag ghcr.io/getsentry/uptime-checker:nightly \ | |
| ghcr.io/getsentry/uptime-checker:${{ github.sha }}-amd64 \ | |
| ghcr.io/getsentry/uptime-checker:${{ github.sha }}-arm64 | |
| self-hosted-end-to-end: | |
| needs: [build-multiplatform-image-ghcr] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Run Sentry self-hosted e2e CI | |
| uses: getsentry/self-hosted@871c182cb0a99dc1fad72cc7ce7889b514b0c5f0 # master | |
| with: | |
| project_name: uptime_checker | |
| image_url: ghcr.io/getsentry/uptime-checker:${{ github.event.pull_request.head.sha || github.sha }} | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| build-image-production: | |
| runs-on: ubuntu-24.04 | |
| if: ${{ github.ref_name == github.event.repository.default_branch }} | |
| name: Build and push production images | |
| permissions: | |
| contents: read | |
| id-token: write | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - name: Build and push image | |
| uses: getsentry/action-build-and-push-images@b172ab61a5f7eabd58bd42ce231b517e79947c01 | |
| with: | |
| image_name: 'uptime-checker' | |
| platforms: linux/amd64 | |
| dockerfile_path: './Dockerfile' | |
| build_args: UPTIME_CHECKER_GIT_REVISION=${{ github.sha }} | |
| ghcr: false | |
| google_ar: true | |
| tag_nightly: false | |
| tag_latest: true | |
| google_ar_image_name: us-central1-docker.pkg.dev/sentryio/uptime-checker/image | |
| google_workload_identity_provider: projects/868781662168/locations/global/workloadIdentityPools/prod-github/providers/github-oidc-pool | |
| google_service_account: gha-gcr-push@sac-prod-sa.iam.gserviceaccount.com | |
| - name: Extract debug symbols | |
| run: | | |
| docker build \ | |
| --target debug-symbols \ | |
| --build-arg UPTIME_CHECKER_GIT_REVISION=${{ github.sha }} \ | |
| --output type=local,dest=./debug-out \ | |
| -f Dockerfile . | |
| - name: Install sentry-cli | |
| run: curl -sL https://sentry.io/get-cli/ | bash | |
| - name: Upload debug symbols to Sentry | |
| run: scripts/upload-debug-symbols ./debug-out/uptime-checker.debug | |
| env: | |
| SENTRY_ORGS: ${{ secrets.SENTRY_ORGS }} | |
| SENTRY_PROJECTS: ${{ secrets.SENTRY_PROJECTS }} | |
| SENTRY_AUTH_TOKENS: ${{ secrets.SENTRY_AUTH_TOKENS }} |