Repository navigation
release: prepare the workflow to publish @hypercerts-org/api to npm (not enabled yet) - #47
Conversation
… independently Model the release workflow on the lexicon repository's: the Release Bot app token for the Release PR and the publish step, npm Trusted Publishing with provenance, and a tag and GitHub Release per package. The tag and release check now covers every released package instead of the server modules only, so a release that bumps only @hypercerts-org/api is not skipped. @hypercerts-org/api stays private and ignored until it builds against a published lexicon package.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
|
❌ The last analysis has failed. |
TECH-818. Prepares the release workflow to publish
@hypercerts-org/apito npm, modelled on the lexicon repository's release workflow so the lexicon, API and (later) SDK repositories release the same way.What changes
GITHUB_TOKENdoes not trigger CI.id-token: write,NPM_CONFIG_PROVENANCE). The repository holds no npm token.changeset publishrunspnpm publish, which on pnpm 10 hands the tarball to the npm CLI bundled with Node 24, new enough for Trusted Publishing.@hypercerts-org/apiwould have found the modules' tag, setpublish=falseand released nothing. It still fails on an inconsistent tag or release, per package..changeset/README.mddescribes both packages;packages/api/README.mddescribes the release path and how to start releasing; the changesets skill notes the second package.@hypercerts-org/happyview-modulesstays private: tag and GitHub Release only, never npm.@hypercerts-org/apistaysprivateand in the Changesetsignorelist, so merging this releases nothing new. It is switched on in the pull request that moves it to the published lexicon package (2.0, hypercerts-lexicon#270).Before merging
hypercerts-release-botapp is installed on every repository in the org, andRELEASE_BOT_APP_IDandRELEASE_BOT_APP_PRIVATE_KEYare now organization secrets shared withapiandsdk(2026-11-02). hypercerts-lexicon keeps its own repository secrets.Before the first npm release (later)
@hypercerts-org/apion npmjs.com (repositoryhypercerts-org/api, workflowrelease.yml). If npm requires the package to exist first, an owner of the@hypercerts-orgscope publishes the first version by hand.Not tested end to end: the publish job only runs when a Release PR is merged. The YAML parses, and the package-list step was run locally.


Confidence Score: 5/5
The PR appears safe to merge once the acknowledged Release Bot setup is complete.Summary
Prepares the release workflow to release packages independently and publish
@hypercerts-org/apito npm once it is enabled.No actionable issues were found. Publication was not tested end to end.
Acknowledged setup and intentional behavior:
kristoferlundacknowledges that the Release Bot app must be installed and its secrets added before merging.kristoferlunddefers enabling@hypercerts-org/apiuntil it uses the published lexicon package and npm Trusted Publishing is configured.Diagram
%%{init: {'theme': 'neutral'}}%% flowchart TD A[Push to main] --> B[Select Changesets mode] B --> C[Release Bot creates or updates Release PR] C --> D[Release PR merged] D --> E[Check and build packages] E --> F[Check tags and GitHub Releases for non-ignored packages] F --> G{Release state} G -->|All already released| H[Skip publishing] G -->|Any version is new| I[Run Changesets publish] G -->|Tag and release disagree| J[Stop with an error]Reviews (1) · Last reviewed commit: "release: publish to npm with Trusted Pub..." · Reviewed by Greptile