Files
calendar/apps/web/scripts/create-sentry-release.js
T
devin-ai-integration[bot]GitHubDevin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>zomars@cal.com <zomars@cal.com>
5d988453fa fix: add --ignore-missing flag to sentry-cli set-commits command (#21285)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: zomars@cal.com <zomars@cal.com>
2025-05-13 20:48:14 +00:00

44 lines
1.3 KiB
JavaScript

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 --ignore-missing`, {
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);
}