Skip to content

ci: upgrade release workflow to Changesets v3 - #3097

Open
ascorbic wants to merge 1 commit into
mainfrom
codex/changesets-v3-upgrade
Open

ci: upgrade release workflow to Changesets v3#3097
ascorbic wants to merge 1 commit into
mainfrom
codex/changesets-v3-upgrade

Conversation

@ascorbic

Copy link
Copy Markdown
Collaborator

What does this PR do?

Upgrades the monorepo release pipeline to Changesets CLI 3.0.2 and Changesets Action 2.1.2.

The release workflow now uses the native select-mode, version, pack, and publish actions. Version pull requests and release tags still use the GitHub App, while npm's OIDC permission is limited to the publish job. The manual publish-only recovery path packs the current unpublished versions without requiring a saved publish plan.

Removes the legacy script that attached plugin tarballs to GitHub releases. This PR does not enable delegated EmDash plugin publishing in this repository.

No linked issue.

Type of change

  • Bug fix
  • Feature (requires maintainer-approved Discussion)
  • Refactor (no behavior change)
  • Translation
  • Documentation
  • Performance improvement
  • Tests
  • Chore (dependencies, CI, tooling)

Checklist

  • I have read CONTRIBUTING.md
  • pnpm typecheck passes
  • pnpm lint passes
  • pnpm test passes (or targeted tests for my change)
  • pnpm format has been run
  • I have added/updated tests for my changes (not applicable: this changes release configuration rather than runtime behavior)
  • User-visible strings in the admin UI are wrapped for translation (not applicable: no admin UI changes)
  • I have added and reviewed the user-facing changeset (not applicable: no published package behavior changes)
  • New features link to an approved Discussion (not applicable: dependency and CI upgrade)
  • I have included screenshots below if this PR changes the UI (not applicable: no UI changes)

AI-generated code disclosure

  • This PR includes AI-generated code — model/tool: GPT-5.4 Codex

Screenshots / test output

Not applicable: no UI changes.

Validated with:

  • pnpm install --frozen-lockfile
  • pnpm build
  • pnpm typecheck
  • type-aware pnpm lint:json
  • pnpm changeset status
  • a disposable Changesets v3 version rehearsal
  • a non-publishing changeset pack rehearsal
  • node .github/scripts/check-no-major.mjs
  • zizmor --pedantic .github/workflows/release.yml
  • git diff --check

@changeset-bot

changeset-bot Bot commented Sep 13, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 1cd3811

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@cloudflare-workers-and-pages

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://codex-changesets-v3-upgrade.try.emdashcms.com, https://codex-changesets-v3-upgrade-emdash-playground.emdash-cms.workers.dev (commit 1cd3811)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://ff57349d.try.emdashcms.com, https://ff57349d-emdash-playground.emdash-cms.workers.dev 1cd3811 2026-09-13T08:29:31.709Z Visit the dashboard ↗

@emdashbot emdashbot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a focused CI chore: it moves the monorepo release pipeline from Changesets Action v1 to the v2 set of sub-actions (select-mode, version, pack, publish) and upgrades the Changesets CLI to 3.0.2 / @changesets/changelog-github to 1.0.1. The approach fits EmDash's existing least-privilege workflow style (default-deny permissions: {}, scoped job permissions, GitHub App token only where writes are needed, OIDC id-token: write limited to the publish job). Removing the legacy attach-plugin-tarballs.mjs script is consistent with the PR description and with the current delegated-release-service docs, which no longer rely on GitHub release assets for plugin bytes.

I read the diff, the updated workflow and release script, the lockfile around the Changeset packages, the changeset configuration and README, AGENTS.md, and the related plugin/release docs. I also searched the tree for remaining references to the deleted script and for comparable GitHub App token patterns in other workflows.

What I checked:

  • package.json and pnpm-lock.yaml now resolve @changesets/cli@3.0.2 and @changesets/changelog-github@1.0.1; no stale v2 CLI / v0.x changelog entries remain.
  • .changeset/config.json schema is bumped to 4.0.0, matching the installed @changesets/config@4.0.0.
  • Workflow splits version and publish correctly, uses pinned action SHAs, keeps the App token for branch/PR/tag work, and restricts the npm OIDC permission to the publish job.
  • The publish-only path skips select-mode and lets pack/publish run without a saved plan, as described.
  • The deleted script is no longer referenced anywhere in the repo.
  • Public docs (plugin CLI, delegated releases, native plugin distribution) do not claim that this repository attaches plugin tarballs to GitHub releases, so removing that script does not leave the docs inconsistent.

No logic bugs, security regressions, missing configuration, or AGENTS.md convention violations were apparent. I would sign off.

@github-actions

Copy link
Copy Markdown
Contributor

Scope check

This PR changes 1,225 lines across 6 files. Large PRs are harder to review and more likely to be closed without review.

If this scope is intentional, no action needed. A maintainer will review it. If not, please consider splitting this into smaller PRs.

See CONTRIBUTING.md for contribution guidelines.

@pkg-pr-new

pkg-pr-new Bot commented Sep 13, 2026

Copy link
Copy Markdown

Open in StackBlitz

@emdash-cms/admin

npm i https://pkg.pr.new/@emdash-cms/admin@3097

@emdash-cms/auth

npm i https://pkg.pr.new/@emdash-cms/auth@3097

@emdash-cms/auth-atproto

npm i https://pkg.pr.new/@emdash-cms/auth-atproto@3097

@emdash-cms/blocks

npm i https://pkg.pr.new/@emdash-cms/blocks@3097

@emdash-cms/cloudflare

npm i https://pkg.pr.new/@emdash-cms/cloudflare@3097

@emdash-cms/contentful-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/contentful-to-portable-text@3097

emdash

npm i https://pkg.pr.new/emdash@3097

create-emdash

npm i https://pkg.pr.new/create-emdash@3097

@emdash-cms/gutenberg-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/gutenberg-to-portable-text@3097

@emdash-cms/plugin-cli

npm i https://pkg.pr.new/@emdash-cms/plugin-cli@3097

@emdash-cms/plugin-test

npm i https://pkg.pr.new/@emdash-cms/plugin-test@3097

@emdash-cms/plugin-types

npm i https://pkg.pr.new/@emdash-cms/plugin-types@3097

@emdash-cms/registry-client

npm i https://pkg.pr.new/@emdash-cms/registry-client@3097

@emdash-cms/registry-lexicons

npm i https://pkg.pr.new/@emdash-cms/registry-lexicons@3097

@emdash-cms/registry-moderation

npm i https://pkg.pr.new/@emdash-cms/registry-moderation@3097

@emdash-cms/registry-verification

npm i https://pkg.pr.new/@emdash-cms/registry-verification@3097

@emdash-cms/sandbox-workerd

npm i https://pkg.pr.new/@emdash-cms/sandbox-workerd@3097

@emdash-cms/x402

npm i https://pkg.pr.new/@emdash-cms/x402@3097

@emdash-cms/plugin-ai-moderation

npm i https://pkg.pr.new/@emdash-cms/plugin-ai-moderation@3097

@emdash-cms/plugin-atproto

npm i https://pkg.pr.new/@emdash-cms/plugin-atproto@3097

@emdash-cms/plugin-audit-log

npm i https://pkg.pr.new/@emdash-cms/plugin-audit-log@3097

@emdash-cms/plugin-color

npm i https://pkg.pr.new/@emdash-cms/plugin-color@3097

@emdash-cms/plugin-embeds

npm i https://pkg.pr.new/@emdash-cms/plugin-embeds@3097

@emdash-cms/plugin-field-kit

npm i https://pkg.pr.new/@emdash-cms/plugin-field-kit@3097

@emdash-cms/plugin-forms

npm i https://pkg.pr.new/@emdash-cms/plugin-forms@3097

@emdash-cms/plugin-webhook-notifier

npm i https://pkg.pr.new/@emdash-cms/plugin-webhook-notifier@3097

commit: 1cd3811

@github-actions github-actions Bot added the review/approved Approved; no new commits since label Sep 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ci review/approved Approved; no new commits since size/XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant