Skip to content

Commit e08cb75

Browse files
committed
Upload symbols from release step; bump to 1.2.7
1 parent 0996404 commit e08cb75

5 files changed

Lines changed: 24 additions & 20 deletions

File tree

.github/workflows/release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ jobs:
5353
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
5454
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
5555
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
56-
SYMBOL_API_KEY: ${{ secrets.SYMBOL_API_KEY }}
5756

5857
- name: Upload Artifact
5958
uses: actions/upload-artifact@v4
@@ -80,3 +79,4 @@ jobs:
8079
env:
8180
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8281
APIKEY: ${{ secrets.APIKEY }}
82+
SYMBOL_API_KEY: ${{ secrets.SYMBOL_API_KEY }}

Changelist.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
1.2.7:
2+
- Crash reporting improvements
3+
14
1.2.6:
25
- Added crash reporting
36

Installer/build.sh

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ VERSION=$(cat "$PROJECT_ROOT/VERSION")
2020

2121
#
2222
# Crash reporting: bundle the latest CrashReporter app + this plugin's
23-
# registration JSON, and upload debug symbols so crashes can be symbolicated.
24-
# SYMBOL_API_KEY - CI secret, authorises symbol upload for this plugin.
23+
# registration JSON. Debug symbols are zipped into bin/ and uploaded later by
24+
# the release job (release.sh), never from this build.
2525
# The CrashReporter download is a public distribution channel (no key needed).
2626
#
2727
CRASH_BASE="https://crashreports.rabiensoftware.com"
@@ -42,18 +42,6 @@ fetch_reporter () { # $1 platform, $2 output file
4242
return 1
4343
}
4444

45-
# Upload a symbols archive for this plugin/version. Skipped if the key is unset.
46-
upload_symbols () { # $1 platform, $2 zip file
47-
if [ -z "${SYMBOL_API_KEY:-}" ]; then echo "SYMBOL_API_KEY not set — skipping symbol upload"; return 0; fi
48-
if [ ! -f "$2" ]; then echo "No symbol archive $2 — skipping"; return 0; fi
49-
echo "Uploading $1 symbols for $VERSION"
50-
# Non-fatal: a symbol-upload failure must never break a release build.
51-
curl -fsS -H "X-API-Key: $SYMBOL_API_KEY" \
52-
-F "platform=$1" -F "version=$VERSION" -F "files[]=@$(curl_path "$2")" \
53-
"$CRASH_BASE/symbols/" || echo "WARNING: symbol upload failed"
54-
echo
55-
}
56-
5745
rm -Rf "$PROJECT_ROOT/Installer/$PLATFORM/bin"
5846
mkdir -p "$PROJECT_ROOT/Installer/$PLATFORM/bin"
5947
rm -Rf "$PROJECT_ROOT/bin"
@@ -222,8 +210,6 @@ if [ "$PLATFORM" = "macOS" ]; then
222210
VST3/$PLUGIN.vst3.dSYM \
223211
CLAP/$PLUGIN.clap.dSYM 2>/dev/null || true
224212

225-
upload_symbols mac "$PROJECT_ROOT/bin/Symbols_Mac.zip"
226-
227213
elif [ "$PLATFORM" = "linux" ]; then
228214
cd "$PROJECT_ROOT"
229215
cmake --preset ninja-gcc
@@ -299,6 +285,4 @@ else
299285
cp "$ART_DIR/VST3/$PLUGIN.pdb" "$SYM_DIR/VST3/" 2>/dev/null || true
300286
cp "$ART_DIR/CLAP/$PLUGIN.pdb" "$SYM_DIR/CLAP/" 2>/dev/null || true
301287
( cd "$SYM_DIR" && 7z a "$PROJECT_ROOT/bin/Symbols_Win.zip" VST VST3 CLAP )
302-
303-
upload_symbols win "$PROJECT_ROOT/bin/Symbols_Win.zip"
304288
fi

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.2.6
1+
1.2.7

release.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,23 @@ fi
2424

2525
echo "$NOTES" > /tmp/release_notes.txt
2626

27+
# --- Debug symbols -> crash server -------------------------------------------
28+
# Uploaded here (not the build job) so a failed upload fails the release. The
29+
# server stores symbols write-once per (plugin, platform, version): a re-tagged
30+
# or rebuilt version whose symbols already exist returns 409 and fails the
31+
# release loudly — delete the stale symbols in the crash site, then re-run.
32+
CRASH_BASE="https://crashreports.rabiensoftware.com"
33+
upload_symbols () { # $1 platform, $2 zip
34+
if [ ! -f "$2" ]; then echo "Error: expected symbols $2 not found"; exit 1; fi
35+
echo "Uploading $1 symbols for $VER"
36+
curl -sS --fail-with-body -H "X-API-Key: $SYMBOL_API_KEY" \
37+
-F "platform=$1" -F "version=$VER" -F "files[]=@$2" \
38+
"$CRASH_BASE/symbols/"
39+
echo
40+
}
41+
upload_symbols mac "./Binaries macOS/Symbols_Mac.zip"
42+
upload_symbols win "./Binaries Windows/Symbols_Win.zip"
43+
2744
ASSETS=(
2845
"./Binaries Linux"/*.deb
2946
"./Binaries Windows"/*.exe

0 commit comments

Comments
 (0)