Publish TypeScript bindings to npm#429
Merged
Merged
Conversation
a60f6b3 to
e68f3f5
Compare
0d7d0eb to
692c9ee
Compare
Member
Author
|
Published manually the first release: https://www.npmjs.com/package/@scip-code/scip |
0973c0f to
2c131c6
Compare
eseliger
approved these changes
Jun 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Wires up TypeScript binding publication to npm via trusted publishing (OIDC). Adds a
publish-npmjob torelease.yaml(alongside the existing Rust/JVM/Go publish jobs) and preparesbindings/typescriptfor npm with proper entry points, an emitteddist/build, and automatic provenance attestation.The workflow uses
JS-DevTools/npm-publish@v4: noNPM_TOKENsecret, no bash idempotency wrapper, and--provenanceis honored via the action's input. The job is safely re-runnable — the action reads the registry first and is a no-op if@scip-code/scip@<version>is already published.Post-merge: claim the
@scip-codescope on npmnpm versions are immutable — once
0.8.0is published it can never be re-uploaded. And npm doesn't support "pending" trusted publishers, so the very first publish has to happen with an interactive login before trusted publishing can be configured.1. Bootstrap publish from a maintainer's machine
This seeds
@scip-code/scip@0.8.0and claims the package name for thescip-codeorg.2. Configure the trusted publisher
On https://www.npmjs.com/package/@scip-code/scip/access → Trusted Publisher → Add Trusted Publisher:
scip-codesciprelease.yaml3. From the next release onwards
Trigger the release workflow from the Actions tab with the new version (e.g.
0.8.1). Thepublish-npmjob authenticates via OIDC against the trusted publisher you just configured, publishes the package, and attaches a provenance statement — no long-lived secret involved.