build(apps/web): enabled client code Sentry source maps uploading. (#21108)

Co-authored-by: Omar López <zomars@me.com>
This commit is contained in:
Yadong (Adam) Zhang
2025-05-08 20:14:47 -07:00
committed by GitHub
co-authored by Omar López
parent bccffb328b
commit 71e7300830
13 changed files with 230 additions and 3487 deletions
+43
View File
@@ -0,0 +1,43 @@
const { execSync } = require("child_process");
const CLIENT_FILES_PATH = ".next/static/chunks";
try {
// Continue if required any env vars are not set
const requiredEnvVars = ["SENTRY_AUTH_TOKEN", "SENTRY_ORG", "SENTRY_PROJECT"];
const missingEnvVars = requiredEnvVars.filter((envVar) => !process.env[envVar]);
if (missingEnvVars.length > 0) {
console.log(
`Skipping release creation as required environment variables are not set: ${missingEnvVars.join(", ")}`
);
process.exit(0);
}
const release = execSync("git rev-parse HEAD").toString().trim();
// Add release
execSync(`sentry-cli releases new ${release}`, { stdio: "inherit" });
// Add git commits
execSync(`sentry-cli releases set-commits ${release} --auto`, {
stdio: "inherit",
});
// Inject Debug IDs
execSync(`sentry-cli sourcemaps inject ${CLIENT_FILES_PATH}`, { stdio: "inherit" });
// Upload with release flag
execSync(
`sentry-cli sourcemaps upload ${CLIENT_FILES_PATH} --validate --ext=js --ext=map --release=${release}`,
{
stdio: "inherit",
env: process.env,
}
);
// Finalize the release
execSync(`sentry-cli releases finalize ${release}`, { stdio: "inherit" });
} catch (err) {
console.error("Sentry cli execution failed:", err);
process.exit(1);
}