Skip to content

ci: changesets + OIDC trusted publishing release flow#182

Merged
AlemTuzlak merged 1 commit into
mainfrom
feat/changesets-oidc-release
Jun 1, 2026
Merged

ci: changesets + OIDC trusted publishing release flow#182
AlemTuzlak merged 1 commit into
mainfrom
feat/changesets-oidc-release

Conversation

@AlemTuzlak
Copy link
Copy Markdown
Contributor

Brings remix-hook-form onto the same tokenless release flow as react-router-devtools and vite-plugin-icons-spritesheet.

What this does

  • changesets.changeset/config.json (ignores the private react-router-app test app) + changeset / changeset:version / changeset:publish scripts. changeset:version also runs npm install --package-lock-only so the lockfile stays in sync (npm ci is strict).
  • Release workflow (push to main + guarded workflow_dispatch): changesets/action opens a "🚀 Release PR", then publishes via npm OIDC Trusted Publishing.npmrc provenance=true + id-token: write, no NPM_TOKEN, no PAT. Pinned action SHAs, code-forge-io + main guard, non-cancelling concurrency, Node 24 (npm 11) for OIDC. Replaces the old "publish on GitHub release" + token flow.
  • Fixed repository.url / bugs / homepage / readme (forge-42 + forge42dev) → code-forge-io, so build provenance validates (otherwise it would 422 like RR devtools did).

No release in this PR

7.1.1 is already published and main has no unreleased commits, so there's nothing to cut. The flow stays idle until the first changeset lands — from then on: merge a PR with a changeset → a 🚀 Release PR opens → merge it → publishes with provenance.

⚠️ Required before the first publish (one-time, owner-only)

Configure a trusted publisher for remix-hook-form on npmjs.com:
package settings → Publishing access → Trusted publisher → GitHub Actions

  • Repository: code-forge-io/remix-hook-form
  • Workflow filename: publish.yaml
  • Environment: (leave blank)

🤖 Generated with Claude Code

Mirror the tokenless release setup used in react-router-devtools and
vite-plugin-icons-spritesheet.

- changesets: add .changeset config (ignoring the private react-router-app
  test app) + changeset/changeset:version/changeset:publish scripts.
  changeset:version also runs `npm install --package-lock-only` so the
  lockfile stays in sync (npm ci is strict).
- Replace the release-triggered `npm publish` + NPM_TOKEN workflow with a
  push-to-main changesets flow that publishes via npm OIDC Trusted
  Publishing — .npmrc provenance=true + id-token:write, no NPM_TOKEN, no
  PAT. Pinned action SHAs, repo+main guard, non-cancelling concurrency,
  Node 24 (npm 11) for OIDC.
- Fix repository.url/bugs/homepage/readme (forge-42 + forge42dev) ->
  code-forge-io so build provenance validates.

No version change: 7.1.1 is already published; the flow stays idle until
the first changeset lands.
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Jun 1, 2026

Open in StackBlitz

npm i https://pkg.pr.new/remix-hook-form@182

commit: 606cbb0

@AlemTuzlak AlemTuzlak merged commit 8ae46d2 into main Jun 1, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant