From 1dd20abdcf61e228214562dfd4e9aa48236976c9 Mon Sep 17 00:00:00 2001 From: Rhys Bartels-Waller Date: Thu, 31 Oct 2024 11:27:15 +0000 Subject: [PATCH] ci: move Sentry source map upload to package build step of CI workflow (#1508) * ci: move Sentry source map upload to package build step of CI workflow Source map association must be done with the exact build being deployed. This change moves the generation and upload to the build that runs on release branches, which will run more often than required but the impact is low. --- .github/actions/build/app/action.yml | 15 ++++++++++++ .github/workflows/ci.yml | 3 +++ .github/workflows/sentry-release.yml | 36 ---------------------------- 3 files changed, 18 insertions(+), 36 deletions(-) delete mode 100644 .github/workflows/sentry-release.yml diff --git a/.github/actions/build/app/action.yml b/.github/actions/build/app/action.yml index 0d2d3340d..e09cce5a3 100644 --- a/.github/actions/build/app/action.yml +++ b/.github/actions/build/app/action.yml @@ -27,11 +27,23 @@ inputs: description: 'Banxa`s integration URL' required: false default: 'https://lacewallet.banxa-sandbox.com/' + SENTRY_AUTH_TOKEN: + description: 'Authentication token for Sentry, used to publish source maps for releases' + required: false + default: '' SENTRY_DSN: description: 'Data Source Name for Sentry, AKA Client Key. This tells a Sentry SDK where to send events so the events are associated with the correct project' required: false default: '' + SENTRY_ORG: + description: 'Organization identifier for Sentry, used to publish source maps for releases' + required: false + default: '' + SENTRY_PROJECT: + description: 'Project identifier for Sentry, used to publish source maps for releases' + required: false + default: '' runs: using: 'composite' @@ -52,7 +64,10 @@ runs: POSTHOG_PRODUCTION_TOKEN: ${{ inputs.POSTHOG_PRODUCTION_TOKEN }} PRODUCTION_MODE_TRACKING: ${{ inputs.PRODUCTION_MODE_TRACKING }} BANXA_LACE_URL: ${{ inputs.BANXA_LACE_URL }} + SENTRY_AUTH_TOKEN: ${{ inputs.SENTRY_AUTH_TOKEN }} SENTRY_DSN: ${{ inputs.SENTRY_DSN }} + SENTRY_ORG: ${{ inputs.SENTRY_ORG }} + SENTRY_PROJECT: ${{ inputs.SENTRY_PROJECT }} - name: Upload artifact uses: actions/upload-artifact@v4 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5583097f8..4fa9c5244 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -201,7 +201,10 @@ jobs: POSTHOG_PRODUCTION_TOKEN: ${{ startsWith(github.ref, 'refs/heads/release') && secrets.POSTHOG_PRODUCTION_TOKEN || '' }} PRODUCTION_MODE_TRACKING: ${{ startsWith(github.ref, 'refs/heads/release') && 'true' || 'false' }} BANXA_LACE_URL: ${{ startsWith(github.ref, 'refs/heads/release') && 'https://lacewallet.banxa.com/' }} + SENTRY_AUTH_TOKEN: ${{ startsWith(github.ref, 'refs/heads/release') && secrets.SENTRY_AUTH_TOKEN || '' }} SENTRY_DSN: ${{ secrets.SENTRY_DSN }} + SENTRY_ORG: ${{ startsWith(github.ref, 'refs/heads/release') && vars.SENTRY_ORG || '' }} + SENTRY_PROJECT: ${{ startsWith(github.ref, 'refs/heads/release') && vars.SENTRY_PROJECT || ''}} build: name: Build Lace diff --git a/.github/workflows/sentry-release.yml b/.github/workflows/sentry-release.yml deleted file mode 100644 index 8b9209082..000000000 --- a/.github/workflows/sentry-release.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Sentry Release - -on: - workflow_dispatch: - -permissions: - actions: read - -jobs: - upload-source-maps: - name: Upload Source Maps to Sentry - runs-on: ubuntu-22.04 - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup Node.js and install dependencies - uses: ./.github/actions/install - with: - WALLET_PASSWORD: ${{ secrets.WALLET_PASSWORD_TESTNET }} - GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} - - - name: Build Lace and trigger Sentry plugin to upload source maps - uses: ./.github/shared/build - with: - GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} - LACE_EXTENSION_KEY: ${{ secrets.MANIFEST_PUBLIC_KEY }} - BLOCKFROST_PROJECT_ID_MAINNET: ${{ secrets.BLOCKFROST_PROJECT_ID_MAINNET }} - BLOCKFROST_PROJECT_ID_PREPROD: ${{ secrets.BLOCKFROST_PROJECT_ID_PREPROD }} - BLOCKFROST_PROJECT_ID_PREVIEW: ${{ secrets.BLOCKFROST_PROJECT_ID_PREVIEW }} - BLOCKFROST_PROJECT_ID_SANCHONET: ${{ secrets.BLOCKFROST_PROJECT_ID_SANCHONET }} - SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - SENTRY_DSN: ${{ secrets.SENTRY_DSN }} - SENTRY_ORG: ${{ vars.SENTRY_ORG }} - SENTRY_PROJECT: ${{ vars.SENTRY_PROJECT }}