Upload symbols from release step; bump to 1.0.34

This commit is contained in:
Roland Rabien 2026-07-19 07:51:19 -07:00
commit cb80197e20
5 changed files with 24 additions and 20 deletions

View file

@ -53,7 +53,6 @@ jobs:
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
SYMBOL_API_KEY: ${{ secrets.SYMBOL_API_KEY }}
- name: Upload Artifact
uses: actions/upload-artifact@v4
@ -80,3 +79,4 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
APIKEY: ${{ secrets.APIKEY }}
SYMBOL_API_KEY: ${{ secrets.SYMBOL_API_KEY }}

View file

@ -1,3 +1,6 @@
1.0.34:
- Crash reporting improvements
1.0.33:
- Added crash reporting

View file

@ -23,8 +23,8 @@ VERSION=$(cat "$PROJECT_ROOT/VERSION")
#
# Crash reporting: bundle the latest CrashReporter app + this plugin's
# registration JSON, and upload debug symbols so crashes can be symbolicated.
# SYMBOL_API_KEY - CI secret, authorises symbol upload for this plugin.
# registration JSON. Debug symbols are zipped into bin/ and uploaded later by
# the release job (release.sh), never from this build.
# The CrashReporter download is a public distribution channel (no key needed).
#
CRASH_BASE="https://crashreports.rabiensoftware.com"
@ -45,18 +45,6 @@ fetch_reporter () { # $1 platform, $2 output file
return 1
}
# Upload a symbols archive for this plugin/version. Skipped if the key is unset.
upload_symbols () { # $1 platform, $2 zip file
if [ -z "${SYMBOL_API_KEY:-}" ]; then echo "SYMBOL_API_KEY not set — skipping symbol upload"; return 0; fi
if [ ! -f "$2" ]; then echo "No symbol archive $2 — skipping"; return 0; fi
echo "Uploading $1 symbols for $VERSION"
# Non-fatal: a symbol-upload failure must never break a release build.
curl -fsS -H "X-API-Key: $SYMBOL_API_KEY" \
-F "platform=$1" -F "version=$VERSION" -F "files[]=@$(curl_path "$2")" \
"$CRASH_BASE/symbols/" || echo "WARNING: symbol upload failed"
echo
}
#
# Reset staging
#
@ -268,8 +256,6 @@ if [ "$PLATFORM" = "macOS" ]; then
VST3/$PLUGIN.vst3.dSYM \
CLAP/$PLUGIN.clap.dSYM 2>/dev/null || true
upload_symbols mac "$PROJECT_ROOT/bin/Symbols_Mac.zip"
############################################################
# Linux — cpack DEB (VST + VST3 + LV2 + CLAP + Resources)
############################################################
@ -378,6 +364,4 @@ else
cp "$ART_DIR/VST3/$PLUGIN.pdb" "$SYM_DIR/VST3/" 2>/dev/null || true
cp "$ART_DIR/CLAP/$PLUGIN.pdb" "$SYM_DIR/CLAP/" 2>/dev/null || true
( cd "$SYM_DIR" && 7z a "$PROJECT_ROOT/bin/Symbols_Win.zip" VST VST3 CLAP )
upload_symbols win "$PROJECT_ROOT/bin/Symbols_Win.zip"
fi

View file

@ -1 +1 @@
1.0.33
1.0.34

View file

@ -26,6 +26,23 @@ fi
echo "$NOTES" > /tmp/release_notes.txt
# --- Debug symbols -> crash server -------------------------------------------
# Uploaded here (not the build job) so a failed upload fails the release. The
# server stores symbols write-once per (plugin, platform, version): a re-tagged
# or rebuilt version whose symbols already exist returns 409 and fails the
# release loudly — delete the stale symbols in the crash site, then re-run.
CRASH_BASE="https://crashreports.rabiensoftware.com"
upload_symbols () { # $1 platform, $2 zip
if [ ! -f "$2" ]; then echo "Error: expected symbols $2 not found"; exit 1; fi
echo "Uploading $1 symbols for $VER"
curl -sS --fail-with-body -H "X-API-Key: $SYMBOL_API_KEY" \
-F "platform=$1" -F "version=$VER" -F "files[]=@$2" \
"$CRASH_BASE/symbols/"
echo
}
upload_symbols mac "./Binaries macOS/Symbols_Mac.zip"
upload_symbols win "./Binaries Windows/Symbols_Win.zip"
ASSETS=(
"./Binaries Linux"/*.deb
"./Binaries Windows"/*.exe