Skip to content

ci: add release workflow with npm trusted publishing - #9

Draft
valeriocomo wants to merge 1 commit into
openng-org:mainfrom
valeriocomo:ci/release-workflow
Draft

valeriocomo wants to merge 1 commit into
openng-org:mainfrom
valeriocomo:ci/release-workflow

Conversation

@valeriocomo

Copy link
Copy Markdown
Contributor

Description

Ports jsverse/transloco's release.yml to this repo, as requested in #2. Manually dispatched, dry-run by default, with a test/build gate and all fallible git work ordered before the irreversible npm publish.

The Nx steps are replaced with this repo's tooling: standard-version for the version bump and changelog, gh release create for the GitHub release, and npm publish dist/openng/cashew. Publishing uses OIDC trusted publishing, so no NPM_TOKEN is stored and provenance is attached automatically.

Also adds the semantic-release variant as an inert, dispatch-only alternative so the two approaches can be compared on real files, and fixes the library manifest URLs, which pointed at the non-existent openng-foundation org.

See docs/RELEASING.md for the runbook and the one-time admin setup (GitHub App bypass actor, npm trusted publisher, missing v5.x tags).

Related issues

Ref to #2

Fixes #

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that changes the public API)
  • Documentation only
  • Refactor, test, or chore (no user-facing change)

Breaking changes

None

Test plan

  • npm run build
  • npm test
  • npm run lint
  • Verified in the demo app (if applicable)

Checklist

  • Issue discussed or bug clearly described (link issue when applicable)
  • Tests added or updated for behavioral changes
  • Documentation updated (README, JSDoc, migration notes as needed)
  • Public API changes documented; breaking changes called out
  • CHANGELOG updated (if the repository maintains one and the change is user-facing)
  • Commit messages follow Conventional Commits
  • I agree to follow the OpenNG Foundation Code of Conduct

Additional context

It's all repoted in docs/RELEASING.md

Ports jsverse/transloco's release.yml to this repo, as requested in
openng-org#2. Manually dispatched, dry-run by default, with a
test/build gate and all fallible git work ordered before the
irreversible npm publish.

The Nx steps are replaced with this repo's tooling: standard-version
for the version bump and changelog, `gh release create` for the GitHub
release, and `npm publish dist/openng/cashew`. Publishing uses OIDC
trusted publishing, so no NPM_TOKEN is stored and provenance is
attached automatically.

Also adds the semantic-release variant as an inert, dispatch-only
alternative so the two approaches can be compared on real files, and
fixes the library manifest URLs, which pointed at the non-existent
openng-foundation org.

See docs/RELEASING.md for the runbook and the one-time admin setup
(GitHub App bypass actor, npm trusted publisher, missing v5.x tags).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant