From e8fbb98ab646e61861ba3108a2333d6e6b596281 Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Tue, 6 Jun 2023 19:01:15 +0200 Subject: [PATCH 1/3] Build with crash reporting against Sentry --- .github/workflows/linux_server_build.yml | 2 ++ .github/workflows/master_build.yml | 2 ++ .github/workflows/pr_build.yml | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linux_server_build.yml b/.github/workflows/linux_server_build.yml index 32dee8afec..4aa5ce9d4c 100644 --- a/.github/workflows/linux_server_build.yml +++ b/.github/workflows/linux_server_build.yml @@ -19,6 +19,8 @@ env: UPLOAD_BUCKET: overte-public UPLOAD_REGION: fra1 UPLOAD_ENDPOINT: "https://fra1.digitaloceanspaces.com" + CMAKE_BACKTRACE_URL: ${{ secrets.SENTRY_MINIDUMP_ENDPOINT }} + CMAKE_BACKTRACE_TOKEN: server_${{ github.event.number }}_${{ github.sha }} jobs: build: diff --git a/.github/workflows/master_build.yml b/.github/workflows/master_build.yml index 022806c3fa..4893d63e3e 100644 --- a/.github/workflows/master_build.yml +++ b/.github/workflows/master_build.yml @@ -24,6 +24,8 @@ env: UPLOAD_BUCKET: overte-public UPLOAD_REGION: fra1 UPLOAD_ENDPOINT: "https://fra1.digitaloceanspaces.com" + CMAKE_BACKTRACE_URL: ${{ secrets.SENTRY_MINIDUMP_ENDPOINT }} + CMAKE_BACKTRACE_TOKEN: master_${{ github.event.number }}_${{ github.sha }} # OSX-specific variables DEVELOPER_DIR: /Applications/Xcode_11.2.app/Contents/Developer diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index d7f3953034..22c26754af 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -21,7 +21,7 @@ env: RELEASE_NUMBER: ${{ github.event.number }} VERSION_CODE: ${{ github.event.number }} # Sentry Crash Reporting - CMAKE_BACKTRACE_URL: + CMAKE_BACKTRACE_URL: ${{ secrets.SENTRY_MINIDUMP_ENDPOINT }} CMAKE_BACKTRACE_TOKEN: PR_${{ github.event.number }}_${{ github.sha }} UPLOAD_BUCKET: overte-public From 258e1de18119be552ce06e774ec34bb27212db31 Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Wed, 7 Jun 2023 23:48:46 +0200 Subject: [PATCH 2/3] Use non-secret environment variable for PR build crash reporting --- .github/workflows/linux_server_build.yml | 2 +- .github/workflows/pr_build.yml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linux_server_build.yml b/.github/workflows/linux_server_build.yml index 4aa5ce9d4c..7cac41f14b 100644 --- a/.github/workflows/linux_server_build.yml +++ b/.github/workflows/linux_server_build.yml @@ -19,7 +19,7 @@ env: UPLOAD_BUCKET: overte-public UPLOAD_REGION: fra1 UPLOAD_ENDPOINT: "https://fra1.digitaloceanspaces.com" - CMAKE_BACKTRACE_URL: ${{ secrets.SENTRY_MINIDUMP_ENDPOINT }} + CMAKE_BACKTRACE_URL: ${{ secrets.SENTRY_MINIDUMP_ENDPOINT || vars.SENTRY_PR_MINIDUMP_ENDPOINT }} CMAKE_BACKTRACE_TOKEN: server_${{ github.event.number }}_${{ github.sha }} jobs: diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index 22c26754af..0229d475cb 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -21,7 +21,9 @@ env: RELEASE_NUMBER: ${{ github.event.number }} VERSION_CODE: ${{ github.event.number }} # Sentry Crash Reporting - CMAKE_BACKTRACE_URL: ${{ secrets.SENTRY_MINIDUMP_ENDPOINT }} + # We use a variable rather than a secret here -- this makes the URL more exposed, so there's some risk of somebody + # using it for no good. But then the secret can also be extracted from a binary. + CMAKE_BACKTRACE_URL: ${{ vars.SENTRY_PR_MINIDUMP_ENDPOINT }} CMAKE_BACKTRACE_TOKEN: PR_${{ github.event.number }}_${{ github.sha }} UPLOAD_BUCKET: overte-public From 2780f375eabafa8591904bd4037edfbe98001874 Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Sun, 11 Jun 2023 01:53:15 +0200 Subject: [PATCH 3/3] Hardcode Sentry crash endpoint for PR builds --- .github/workflows/linux_server_build.yml | 11 +++++++++-- .github/workflows/pr_build.yml | 5 ++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/linux_server_build.yml b/.github/workflows/linux_server_build.yml index 7cac41f14b..36a0c13639 100644 --- a/.github/workflows/linux_server_build.yml +++ b/.github/workflows/linux_server_build.yml @@ -19,7 +19,7 @@ env: UPLOAD_BUCKET: overte-public UPLOAD_REGION: fra1 UPLOAD_ENDPOINT: "https://fra1.digitaloceanspaces.com" - CMAKE_BACKTRACE_URL: ${{ secrets.SENTRY_MINIDUMP_ENDPOINT || vars.SENTRY_PR_MINIDUMP_ENDPOINT }} + CMAKE_BACKTRACE_URL: ${{ secrets.SENTRY_MINIDUMP_ENDPOINT }} CMAKE_BACKTRACE_TOKEN: server_${{ github.event.number }}_${{ github.sha }} jobs: @@ -210,7 +210,14 @@ jobs: - name: Configure CMake working-directory: build shell: bash - run: cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DVCPKG_BUILD_TYPE=release $CMAKE_EXTRA + run: | + if [ -z "$CMAKE_BACKTRACE_URL" ] ; then + # We're building a PR, default to the PR endpoint + export CMAKE_BACKTRACE_URL="https://o4504831972343808.ingest.sentry.io/api/4504832427950080/minidump/?sentry_key=f511de295975461b8f92a36f4a4a4f32" + export CMAKE_BACKTRACE_TOKEN="server_pr_${{ github.event.number }}_${{ github.sha }}" + fi + + cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DVCPKG_BUILD_TYPE=release $CMAKE_EXTRA - name: Compress cmake logs if: always() diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index 0229d475cb..e7c1ad9e47 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -21,9 +21,8 @@ env: RELEASE_NUMBER: ${{ github.event.number }} VERSION_CODE: ${{ github.event.number }} # Sentry Crash Reporting - # We use a variable rather than a secret here -- this makes the URL more exposed, so there's some risk of somebody - # using it for no good. But then the secret can also be extracted from a binary. - CMAKE_BACKTRACE_URL: ${{ vars.SENTRY_PR_MINIDUMP_ENDPOINT }} + # We can't use secrets or actions here, so the actual value has to be hardcoded. + CMAKE_BACKTRACE_URL: "https://o4504831972343808.ingest.sentry.io/api/4504832427950080/minidump/?sentry_key=f511de295975461b8f92a36f4a4a4f32" CMAKE_BACKTRACE_TOKEN: PR_${{ github.event.number }}_${{ github.sha }} UPLOAD_BUCKET: overte-public