From d66da2da917cd8d7a1774494aeb281a9a2bbee40 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Wed, 21 Feb 2024 15:49:20 +0700 Subject: [PATCH] fix(developer): improve uploading of sourcemaps to sentry Fixes #10720. This makes three fixes: * Uploads each sourcemap path separately to try and avoid the 413 error noted in the issue above. * Starts from the parent folder, as it is possible that paths starting with .. may be ignored, as they were not being uploaded to sentry. * Removes a number of unneeded test files and debug symbols, which should reduce the size of each release's debug data upload, and slightly speed up the build. --- developer/src/tools/sentry-upload-difs.sh | 77 ++++++++++++++--------- 1 file changed, 48 insertions(+), 29 deletions(-) diff --git a/developer/src/tools/sentry-upload-difs.sh b/developer/src/tools/sentry-upload-difs.sh index 5dd22cc886..f6e9c2f25d 100755 --- a/developer/src/tools/sentry-upload-difs.sh +++ b/developer/src/tools/sentry-upload-difs.sh @@ -1,5 +1,4 @@ #!/usr/bin/env bash - # # Upload Debug Information Files for this developer folder # @@ -12,52 +11,72 @@ # Prerequisites: SENTRY_AUTH_TOKEN, SENTRY_URL, SENTRY_ORG variables must # be configured. # - -set -e -set -u - ## START STANDARD BUILD SCRIPT INCLUDE # adjust relative paths as necessary THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE -cd "$KEYMAN_ROOT/developer/src" +cd "$KEYMAN_ROOT/developer" # # Remove some additional unnecessary files: we don't want to upload these # because they are really only used for internal test or as samples. # -[ -f ./samples/imsample/IMSample.pdb ] && rm -f ./samples/imsample/IMSample.pdb +excluded_files=( + src/kmcmplib/build/x64/release/tests/api-test.exe + src/kmcmplib/build/x64/release/tests/api-test.pdb + src/kmcmplib/build/x64/release/tests/kmcompxtest.exe + src/kmcmplib/build/x64/release/tests/kmcompxtest.pdb + src/kmcmplib/build/x64/release/tests/uset-api-test.exe + src/kmcmplib/build/x64/release/tests/uset-api-test.pdb + src/kmcmplib/build/x86/release/tests/api-test.exe + src/kmcmplib/build/x86/release/tests/api-test.pdb + src/kmcmplib/build/x86/release/tests/kmcompxtest.exe + src/kmcmplib/build/x86/release/tests/kmcompxtest.pdb + src/kmcmplib/build/x86/release/tests/uset-api-test.exe + src/kmcmplib/build/x86/release/tests/uset-api-test.pdb + src/samples/imsample/bin/Win32/Release/imsample.dll + src/samples/imsample/bin/Win32/Release/imsample.pdb + src/samples/imsample/bin/Win32/Release/imsample.pdb + src/samples/imsample/bin/x64/Release/imsample.x64.dll + src/samples/imsample/bin/x64/Release/imsample.x64.pdb + src/samples/imsample/bin/x64/Release/imsample.x64.pdb +) + +rm -f "${excluded_files[@]}" # # Upload the files # sourcemap_paths=( - ./TIKE/xml - ../bin/server - ./kmc/build - ./kmc-analyze/build - ./kmc-keyboard-info/build - ./kmc-kmn/build - ./kmc-ldml/build - ./kmc-model/build - ./kmc-model-info/build - ./kmc-package/build + ./src/TIKE/xml + ./bin/server + ./src/kmc/build + ./src/kmc-analyze/build + ./src/kmc-keyboard-info/build + ./src/kmc-kmn/build + ./src/kmc-ldml/build + ./src/kmc-model/build + ./src/kmc-model-info/build + ./src/kmc-package/build ) echo "Uploading symbols for developer/" -./kmc/node_modules/.bin/sentry-cli upload-dif \ - --project keyman-developer \ - --include-sources \ - --no-zips \ - . -./kmc/node_modules/.bin/sentry-cli sourcemaps upload \ - --org keyman \ - --project keyman-developer \ - --release "$VERSION_GIT_TAG" \ - --dist "$VERSION_ENVIRONMENT" \ - --ext js --ext mjs --ext ts --ext map \ - "${sourcemap_paths[@]}" +./src/kmc/node_modules/.bin/sentry-cli upload-dif \ + --project keyman-developer \ + --include-sources \ + --no-zips \ + src/ + +for sourcemap_path in "${sourcemap_paths[@]}"; do + ./src/kmc/node_modules/.bin/sentry-cli sourcemaps upload \ + --org keyman \ + --project keyman-developer \ + --release "$VERSION_GIT_TAG" \ + --dist "$VERSION_ENVIRONMENT" \ + --ext js --ext mjs --ext ts --ext map \ + "$sourcemap_path" +done