This repository uses pnpm, Changesets, and npm OIDC trusted publishing.
release.yml runs on every push to develop and can also be started manually
from develop. It uses the Changesets GitHub Action:
chore(release): Version Packages PR.pnpm run release. This builds the packages, publishes versions that are not
yet on npm with changeset publish and npm provenance, and creates GitHub
releases.Each public package must include:
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org/"
}
Configure OIDC trusted publishing for each package:
Use these trusted publisher settings:
| Field | Value |
|---|---|
| Organization or username | urth-inc |
| Repository | metatell-ai-bot |
| Workflow file name | release.yml |
| Environment name | Leave empty |
An NPM_TOKEN secret is not required for publishing through OIDC.
GitHub Actions must have read and write permissions:
Create a changeset for user-facing package changes:
pnpm changeset
Commit the generated .changeset/ file with the code or documentation change.
develop.chore(release): Version Packages PR opened by release.yml.
Changesets determines each package's semver bump from the changeset files.release.yml run publishes the new versions
to npm and creates GitHub releases.Scoped public packages need publishConfig.access set to public. Add the
package publish settings, merge the PR, and rerun the release workflow.
Check these settings:
release.yml.develop branch.package.json matches the npm package.If GitHub Actions reports Resource not accessible by integration, confirm the
repository workflow permissions are set to read and write.
npm publish; dependency installation uses normal
npm registry access.