From c4ba4047e185e307a98d64dc6118dc72e86b7a72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Mon, 19 Oct 2026 09:19:46 +0200 Subject: [PATCH] [CrashReporting] Drop the invalid --release from the symbol upload `debug-files upload` never accepted `--release` (checked against the pinned sentry-cli 3.8.0: the subcommand declares --org/--project and a set of type/id/scan options, and execute() reads no release; the only global flags are --url/--header/--auth-token/--log-level/--quiet/--allow-failure). Clap rejects the unknown flag before any upload happens, so every tag build has been shipping without symbols, with continue-on-error keeping the release pipeline green. Release association is also the wrong mechanism: debug information files are matched to events by debug ID via the event's debug_meta. The Sentry release of a native event comes from the event itself (COCKATRICE_SENTRY_RELEASE), not from the DIF upload. Remove the flag and the now-unused SENTRY_RELEASE env from both invocations (Linux, and Windows/macOS). The symbol upload stays continue-on-error (a Sentry outage must not block the release assets); revisit once it has proven itself on a tag. --- .github/workflows/desktop-build.yml | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml index 97e375dee..8ef1af578 100644 --- a/.github/workflows/desktop-build.yml +++ b/.github/workflows/desktop-build.yml @@ -289,10 +289,6 @@ jobs: shell: bash env: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - # Same release string the client reports its events under (COCKATRICE_SENTRY_RELEASE - # = PROJECT_VERSION, see cmake/CrashReporting.cmake), so stack traces from this build - # de-symbolicate against these symbols. - SENTRY_RELEASE: ${{ needs.configure.outputs.sentry_release }} run: | paths=() for dir in build/cockatrice build/oracle build/servatrice; do @@ -303,7 +299,11 @@ jobs: exit 0 fi # Project slug on Sentry; must match the project the baked DSN points at. - sentry-cli debug-files upload --org cockatrice --project cockatrice-desktop --release "$SENTRY_RELEASE" "${paths[@]}" + # No --release here: `debug-files upload` has no such option (sentry-cli errors on + # the unknown flag and uploads nothing), and debug information files are matched to + # events by debug ID via the event's debug_meta, not by release. The release grouping + # comes from the client event itself (COCKATRICE_SENTRY_RELEASE). + sentry-cli debug-files upload --org cockatrice --project cockatrice-desktop "${paths[@]}" # Delete used cache to emulate a ccache update. See https://github.com/actions/cache/issues/342 - name: "Delete remote compiler cache (ccache)" @@ -643,10 +643,6 @@ jobs: shell: bash env: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - # Same release string the client reports its events under (COCKATRICE_SENTRY_RELEASE - # = PROJECT_VERSION, see cmake/CrashReporting.cmake), so stack traces from this build - # de-symbolicate against these symbols. - SENTRY_RELEASE: ${{ needs.configure.outputs.sentry_release }} run: | paths=() if [[ '${{ matrix.os }}' == 'Windows' ]]; then @@ -675,7 +671,9 @@ jobs: exit 0 fi # Project slug on Sentry; must match the project the baked DSN points at. - sentry-cli debug-files upload --org cockatrice --project cockatrice-desktop --release "$SENTRY_RELEASE" "${paths[@]}" + # No --release: see the Linux leg above — the flag does not exist on + # `debug-files upload` and DIFs are matched by debug ID, not release. + sentry-cli debug-files upload --org cockatrice --project cockatrice-desktop "${paths[@]}" # CPack reports a failed makensis run as "Problem running NSIS command" # plus a path to NSISOutput.log, and that log lives only on the runner, so