Skip to content

ci: publish to npm via OIDC trusted publishing#35

Merged
jflayhart merged 1 commit into
mainfrom
ci/npm-trusted-publishing
May 22, 2026
Merged

ci: publish to npm via OIDC trusted publishing#35
jflayhart merged 1 commit into
mainfrom
ci/npm-trusted-publishing

Conversation

@jflayhart

@jflayhart jflayhart commented May 22, 2026

Copy link
Copy Markdown
Collaborator

What

Enables npm registry publishing for @linqapp/cli through the existing semantic-release pipeline, using OIDC trusted publishing — no NPM_TOKEN secret.

Changes

  • .releaserc.json — removed npmPublish: false from @semantic-release/npm, so releases now publish to npm (previously GitHub releases only).
  • release.yml — added id-token: write permission for OIDC, added an npm upgrade step (trusted publishing requires npm ≥ 11.5.1; runners ship 10.x), removed the now-unused NPM_TOKEN env var.
  • package.json — added publishConfig.provenance: true for signed provenance attestations.
  • README.md — documented npm install -g @linqapp/cli.

Committed as ci: so merging this does not itself trigger a release — leaving time to configure the trusted publisher first.

@linqapp/cli@2.2.0 was published manually for the initial bootstrap (OIDC can't create a brand-new package). All subsequent releases publish tokenless via OIDC.

Enable npm registry publishing in the release pipeline:

- .releaserc.json: drop npmPublish:false so @semantic-release/npm
  publishes @linqapp/cli on release
- release.yml: add id-token:write for OIDC, upgrade npm to >=11.5.1
  (trusted publishing requirement), drop the NPM_TOKEN secret
- package.json: enable provenance attestations on publish
- README: document npm install option
@jflayhart jflayhart self-assigned this May 22, 2026
@jflayhart
jflayhart merged commit 12829f8 into main May 22, 2026
4 checks passed
@jflayhart
jflayhart deleted the ci/npm-trusted-publishing branch May 22, 2026 18:52
@jflayhart

Copy link
Copy Markdown
Collaborator Author

🎉 This PR is included in version 2.3.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant