Skip to content

Add npm publish workflow with provenance (OIDC trusted publishing)#80

Merged
TapeshN merged 1 commit into
mainfrom
qulib/provenance-publish
Jun 1, 2026
Merged

Add npm publish workflow with provenance (OIDC trusted publishing)#80
TapeshN merged 1 commit into
mainfrom
qulib/provenance-publish

Conversation

@TapeshN
Copy link
Copy Markdown
Owner

@TapeshN TapeshN commented May 31, 2026

What this PR does

Adds .github/workflows/publish.yml — on a published GitHub Release, builds and publishes @qulib/core then @qulib/mcp to npm with npm publish --provenance via OIDC trusted publishing (tokenless; no NPM_TOKEN secret). Verifies core/mcp versions are aligned and equal the release tag before publishing; always publishes core before mcp.

Also adds one PR-template checklist line (labeled + assigned to a milestone) to close a repo-wide PR-hygiene gap.

Why

qulib is published by hand today, so packages are signed but carry no provenance attestation — the 'verified built & published from this repo' supply-chain badge. Publishing from CI via OIDC adds that badge and removes the local-token publish path.

Type

  • Chore (tooling)

Checklist

  • Branched from main
  • npm run build — N/A (CI/docs only, no source touched; PR CI validates)
  • Commit messages follow type: short description
  • No new dependencies
  • Output remains honest
  • Labeled + assigned to the current milestone

One-time setup before the first release

Before cutting v0.8.0, configure the npm trusted publisher for both packages: npmjs.com → package Settings → Trusted Publisher → GitHub Actions → repo TapeshN/qulib, workflow publish.yml. Merging this PR is safe anytime — the workflow only runs on a published Release.

…lishing)

Adds .github/workflows/publish.yml: on a GitHub Release, publishes @qulib/core
then @qulib/mcp with `npm publish --provenance` via OIDC trusted publishing
(tokenless — no NPM_TOKEN secret). Verifies core/mcp versions are aligned and
match the release tag before publishing; core publishes before mcp.

Also adds a PR-template checklist line so PRs are labeled + assigned to a
milestone (closes a repo-wide PR-hygiene gap).

Requires a one-time npmjs.com trusted-publisher config per package.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@TapeshN TapeshN added this to the v0.8.0 milestone May 31, 2026
@TapeshN TapeshN added the enhancement New feature or request label May 31, 2026
@TapeshN TapeshN merged commit f79e779 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

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant