Background
PR #1201 (merge commit 9fa96f6d47f9fe2d7eacc5f7244d9d14c27e5696) shipped the v3→v4 migration guide and the sentry-v3-to-v4 codemod (codemods/sentry-v3-to-v4/). The codemod is fully built, tested (21 jssg fixtures), and CI-gated (codemod-test job), but it is not yet published to the Codemod registry.
Until it's published, the migration guide instructs users to run it from source (clone + npx codemod jssg run …). The shorter published form is documented but gated behind a "once published" note:
npx codemod@latest @sentry/cli-v3-to-v4
What needs to happen
- Create the
@sentry scope on codemod.com (if it doesn't already exist).
- Register
getsentry/cli as a trusted publisher for that scope (OIDC), so .github/workflows/publish-codemod.yml can publish without a long-lived token.
- Push a
codemod-v* tag to trigger publish-codemod.yml (the workflow fires on push: tags: codemod-v* and also supports workflow_dispatch).
- Verify
npx codemod @sentry/cli-v3-to-v4 resolves and runs.
Follow-up once published
- Update
docs/src/content/docs/migrating-from-v3.md — promote the npx codemod @sentry/cli-v3-to-v4 command out of the "once published" :::note and make it the primary invocation (the run-from-source path can stay as an alternative).
Notes
- Nothing here blocks anything already merged — the CLI doesn't depend on the codemod package,
codemod-test runs jssg test locally (no registry needed), and publish-codemod.yml only fires on the tag.
- Package name is
@sentry/cli-v3-to-v4; config lives in codemods/sentry-v3-to-v4/codemod.yaml + workflow.yaml.
Background
PR #1201 (merge commit
9fa96f6d47f9fe2d7eacc5f7244d9d14c27e5696) shipped the v3→v4 migration guide and thesentry-v3-to-v4codemod (codemods/sentry-v3-to-v4/). The codemod is fully built, tested (21 jssg fixtures), and CI-gated (codemod-testjob), but it is not yet published to the Codemod registry.Until it's published, the migration guide instructs users to run it from source (clone +
npx codemod jssg run …). The shorter published form is documented but gated behind a "once published" note:What needs to happen
@sentryscope on codemod.com (if it doesn't already exist).getsentry/clias a trusted publisher for that scope (OIDC), so.github/workflows/publish-codemod.ymlcan publish without a long-lived token.codemod-v*tag to triggerpublish-codemod.yml(the workflow fires onpush: tags: codemod-v*and also supportsworkflow_dispatch).npx codemod @sentry/cli-v3-to-v4resolves and runs.Follow-up once published
docs/src/content/docs/migrating-from-v3.md— promote thenpx codemod @sentry/cli-v3-to-v4command out of the "once published":::noteand make it the primary invocation (the run-from-source path can stay as an alternative).Notes
codemod-testrunsjssg testlocally (no registry needed), andpublish-codemod.ymlonly fires on the tag.@sentry/cli-v3-to-v4; config lives incodemods/sentry-v3-to-v4/codemod.yaml+workflow.yaml.