chore: import upstream snapshot with attribution
Deploy (to testing) and Test Playground Preview Worker / Deploy Playground Preview Worker (testing) (push) Has been skipped
Deploy Workers Shared Staging / Deploy Workers Shared Staging (push) Failing after 0s
Prerelease / build (push) Has been skipped
Handle Changesets / Handle Changesets (push) Has been cancelled
Semgrep OSS scan / semgrep-oss (push) Has been cancelled
Deploy (to testing) and Test Playground Preview Worker / Deploy Playground Preview Worker (testing) (push) Has been skipped
Deploy Workers Shared Staging / Deploy Workers Shared Staging (push) Failing after 0s
Prerelease / build (push) Has been skipped
Handle Changesets / Handle Changesets (push) Has been cancelled
Semgrep OSS scan / semgrep-oss (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* This script is temporary and will be deleted in a next iteration
|
||||
*/
|
||||
import { copyFileSync, existsSync, mkdirSync } from "node:fs";
|
||||
import { join, resolve } from "node:path";
|
||||
|
||||
const pkgRoot = resolve(__dirname, "..");
|
||||
const dstDirectory = join(pkgRoot, "dist");
|
||||
const configFileSrc = join(pkgRoot, "asset-worker", "wrangler.jsonc");
|
||||
const configFileDst = join(dstDirectory, "asset-worker.jsonc");
|
||||
|
||||
if (!existsSync(dstDirectory)) {
|
||||
mkdirSync(dstDirectory);
|
||||
}
|
||||
|
||||
copyFileSync(configFileSrc, configFileDst);
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// Generates a version tag which can be used with version upload and associated with sentry releases
|
||||
|
||||
import { execSync } from "node:child_process";
|
||||
|
||||
try {
|
||||
const hash = execSync("git rev-parse --short=10 HEAD").toString().trim();
|
||||
console.log(hash);
|
||||
} catch {
|
||||
console.log("UNKNOWN");
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
// Creates a sentry release with associated sourcemaps
|
||||
import SentryCli from "@sentry/cli";
|
||||
|
||||
const requireEnvVar = (varName: string): string => {
|
||||
const varValue = process.env[varName];
|
||||
if (varValue === undefined || varValue === "") {
|
||||
throw new Error(`Missing required environment variable: ${varName}`);
|
||||
}
|
||||
return varValue;
|
||||
};
|
||||
|
||||
const requireVar = (varName: string): string => {
|
||||
const args = process.argv.slice(2);
|
||||
|
||||
for (let i = 0; i < args.length; i += 2) {
|
||||
if (args[i].startsWith("--") && args[i].substring(2) === varName) {
|
||||
return args[i + 1];
|
||||
}
|
||||
}
|
||||
throw new Error(`Missing required variable: ${varName}`);
|
||||
};
|
||||
|
||||
// Vars
|
||||
const targetWorker = requireVar("worker");
|
||||
const sentryRelease = requireVar("tag");
|
||||
|
||||
// EnvVars
|
||||
const sentryAuthToken = requireEnvVar("WORKERS_SHARED_SENTRY_AUTH_TOKEN");
|
||||
const sentryAccessClientID = requireEnvVar("WORKERS_SHARED_SENTRY_ACCESS_ID");
|
||||
const sentryAccessClientSecret = requireEnvVar(
|
||||
"WORKERS_SHARED_SENTRY_ACCESS_SECRET"
|
||||
);
|
||||
|
||||
// Add a custom header to get through cf access
|
||||
const accessHeader = `cf-access-client-id: ${sentryAccessClientID}
|
||||
cf-access-client-secret: ${sentryAccessClientSecret}`;
|
||||
|
||||
async function generateRelease(worker: string, release: string) {
|
||||
const dir = `./${worker}/dist`;
|
||||
console.log(`Dir path: ${dir}`);
|
||||
|
||||
const sentryCli = new SentryCli(null, {
|
||||
org: "cloudflare",
|
||||
project: worker,
|
||||
url: "https://sentry10.cfdata.org/",
|
||||
authToken: sentryAuthToken,
|
||||
customHeader: accessHeader,
|
||||
});
|
||||
|
||||
console.log(`Creating release: ${release}`);
|
||||
await sentryCli.releases.new(release);
|
||||
|
||||
console.log("Finalizing release");
|
||||
await sentryCli.releases.finalize(release);
|
||||
|
||||
console.log("Uploading sourcemaps");
|
||||
await sentryCli.releases.uploadSourceMaps(release, {
|
||||
include: [dir],
|
||||
urlPrefix: "/",
|
||||
});
|
||||
}
|
||||
|
||||
generateRelease(targetWorker, sentryRelease)
|
||||
.then(() =>
|
||||
console.log(`Successfully uploaded sourcemaps for ${targetWorker}`)
|
||||
)
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user