about summary refs log tree commit diff
path: root/postHooks/uploadSentrySourcemapsPostHook.js
diff options
context:
space:
mode:
authorHailey <me@haileyok.com>2024-09-18 14:51:14 -0700
committerGitHub <noreply@github.com>2024-09-18 14:51:14 -0700
commitfb3be7982024aed4cf141fbe3f658d8d6b0f94f5 (patch)
tree52efccfc910f8dd2de508cd1e515f476671f814c /postHooks/uploadSentrySourcemapsPostHook.js
parent6c8ef696549c3c08d39166e5620c74e6cfea173a (diff)
downloadvoidsky-fb3be7982024aed4cf141fbe3f658d8d6b0f94f5.tar.zst
Update sentry sourcemaps upload (#5409)
Diffstat (limited to 'postHooks/uploadSentrySourcemapsPostHook.js')
-rw-r--r--postHooks/uploadSentrySourcemapsPostHook.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/postHooks/uploadSentrySourcemapsPostHook.js b/postHooks/uploadSentrySourcemapsPostHook.js
new file mode 100644
index 000000000..756e64253
--- /dev/null
+++ b/postHooks/uploadSentrySourcemapsPostHook.js
@@ -0,0 +1,34 @@
+const exec = require('child_process').execSync
+
+const SENTRY_AUTH_TOKEN = process.env.SENTRY_AUTH_TOKEN
+
+module.exports = ({config}) => {
+  if (!SENTRY_AUTH_TOKEN) {
+    console.log(
+      'SENTRY_AUTH_TOKEN environment variable must be set to upload sourcemaps. Skipping.',
+    )
+    return
+  }
+
+  const org = config.organization
+  const project = config.project
+  const release = config.release
+  const dist = config.dist
+
+  if (!org || !project || !release || !dist) {
+    console.log(
+      '"organization", "project", "release", and "dist" must be set in the hook config to upload sourcemaps. Skipping.',
+    )
+    return
+  }
+
+  try {
+    console.log('Uploading sourcemaps to Sentry...')
+    exec(
+      `node node_modules/@sentry/react-native/scripts/expo-upload-sourcemaps dist --url https://sentry.io/  -o ${org} -p ${project} -r ${release} -d ${dist}`,
+    )
+    console.log('Sourcemaps uploaded to Sentry.')
+  } catch (e) {
+    console.error('Error uploading sourcemaps to Sentry:', e)
+  }
+}