my fork of the bluesky client

Update sentry sourcemaps upload (#5409)

authored by hailey.at and committed by

GitHub fb3be798 6c8ef696

+66 -2
+11 -2
app.config.js
··· 55 55 : undefined 56 56 const UPDATES_ENABLED = !!UPDATES_CHANNEL 57 57 58 + const USE_SENTRY = Boolean(process.env.SENTRY_AUTH_TOKEN) 58 59 const SENTRY_DIST = `${PLATFORM}.${VERSION}.${IS_TESTFLIGHT ? 'tf' : ''}${ 59 60 IS_DEV ? 'dev' : '' 60 61 }` ··· 186 187 }, 187 188 plugins: [ 188 189 'expo-localization', 189 - Boolean(process.env.SENTRY_AUTH_TOKEN) && 'sentry-expo', 190 + USE_SENTRY && [ 191 + '@sentry/react-native/expo', 192 + { 193 + organization: 'blueskyweb', 194 + project: 'react-native', 195 + release: VERSION, 196 + dist: SENTRY_DIST, 197 + }, 198 + ], 190 199 [ 191 200 'expo-build-properties', 192 201 { ··· 263 272 * @see https://docs.expo.dev/guides/using-sentry/#app-configuration 264 273 */ 265 274 { 266 - file: 'sentry-expo/upload-sourcemaps', 275 + file: './postHooks/uploadSentrySourcemapsPostHook', 267 276 config: { 268 277 organization: 'blueskyweb', 269 278 project: 'react-native',
+21
patches/@sentry+react-native+5.32.0.patch
··· 13 13 } 14 14 //# sourceMappingURL=ignorerequirecyclelogs.js.map 15 15 \ No newline at end of file 16 + diff --git a/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js b/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js 17 + index 0f244f2..ae7dfb3 100755 18 + --- a/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js 19 + +++ b/node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps.js 20 + @@ -174,6 +174,7 @@ if (!outputDir) { 21 + process.exit(1); 22 + } 23 + 24 + +const otherArgs = process.argv.slice(3); 25 + const files = getAssetPathsSync(outputDir); 26 + const groupedAssets = groupAssets(files); 27 + 28 + @@ -195,7 +196,7 @@ for (const [assetGroupName, assets] of Object.entries(groupedAssets)) { 29 + 30 + const isHermes = assets.find(asset => asset.endsWith('.hbc')); 31 + const windowsCallback = process.platform === "win32" ? 'node ' : ''; 32 + - execSync(`${windowsCallback}${sentryCliBin} sourcemaps upload ${isHermes ? '--debug-id-reference' : ''} ${assets.join(' ')}`, { 33 + + execSync(`${windowsCallback}${sentryCliBin} sourcemaps upload ${isHermes ? '--debug-id-reference' : ''} ${assets.join(' ')} ${otherArgs.join(' ')}`, { 34 + env: { 35 + ...process.env, 36 + [SENTRY_PROJECT]: sentryProject,
+34
postHooks/uploadSentrySourcemapsPostHook.js
··· 1 + const exec = require('child_process').execSync 2 + 3 + const SENTRY_AUTH_TOKEN = process.env.SENTRY_AUTH_TOKEN 4 + 5 + module.exports = ({config}) => { 6 + if (!SENTRY_AUTH_TOKEN) { 7 + console.log( 8 + 'SENTRY_AUTH_TOKEN environment variable must be set to upload sourcemaps. Skipping.', 9 + ) 10 + return 11 + } 12 + 13 + const org = config.organization 14 + const project = config.project 15 + const release = config.release 16 + const dist = config.dist 17 + 18 + if (!org || !project || !release || !dist) { 19 + console.log( 20 + '"organization", "project", "release", and "dist" must be set in the hook config to upload sourcemaps. Skipping.', 21 + ) 22 + return 23 + } 24 + 25 + try { 26 + console.log('Uploading sourcemaps to Sentry...') 27 + exec( 28 + `node node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps dist --url https://sentry.io/ -o ${org} -p ${project} -r ${release} -d ${dist}`, 29 + ) 30 + console.log('Sourcemaps uploaded to Sentry.') 31 + } catch (e) { 32 + console.error('Error uploading sourcemaps to Sentry:', e) 33 + } 34 + }