Skip to content

Set up npm release publishing with GitHub Actions#38

Merged
darekaze merged 7 commits into
mainfrom
fix/issue-34
Jul 1, 2026
Merged

Set up npm release publishing with GitHub Actions#38
darekaze merged 7 commits into
mainfrom
fix/issue-34

Conversation

@darekaze

@darekaze darekaze commented Jun 30, 2026

Copy link
Copy Markdown
Member

Summary

  • Add a Release GitHub Actions workflow that runs on published GitHub Releases, executes lint/build checks, and publishes @countertek/react-native-ble-nfc-reader to npmjs.com with provenance.
  • Add docs/release.md with maintainer setup and publish steps for the scoped @countertek package.
  • Update README installation wording and ADR 0024 to describe npm as the only public distribution path (JSR and GitHub Packages are not required).

Closes #34

Manual action required

Before the first automated publish can succeed, a maintainer with publish access to the @countertek npm organization must:

  1. Create or join the @countertek npm org — Sign in at npmjs.com, open org settings (or create the org if needed), and ensure your user is an owner or member with permission to publish under @countertek.
  2. Understand scoped packages@countertek/react-native-ble-nfc-reader is published under the org namespace. It does not require the unscoped name react-native-ble-nfc-reader to be available on npm.
  3. Create an npm access token — Generate a token with publish rights for the @countertek scope or @countertek/react-native-ble-nfc-reader (Access Tokens). Use an Automation token for CI.
  4. Add the NPM_TOKEN secret — In this repository: SettingsSecrets and variablesActions → create secret NPM_TOKEN with the token value.
  5. First publish — Scoped packages are private by default; the workflow passes --access public. The first successful publish creates the package on npm. After merging, cut a GitHub Release to verify the workflow end-to-end.

See docs/release.md for the full maintainer checklist.

Test plan

  • pnpm run lint passes locally
  • pnpm run build passes locally
  • pnpm run test passes locally
  • Configure NPM_TOKEN and publish a test release on a maintainer machine or via the workflow after merge

darekaze and others added 7 commits June 30, 2026 21:45
Publish to npmjs.com from GitHub Releases with lint/build gates, and
remove JSR as a described distribution path in user-facing docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Publish under the @countertek org namespace so the unscoped name does not
need to be claimed. Update install docs and maintainer setup steps.

Co-authored-by: Cursor <cursoragent@cursor.com>
Document scoped vs unscoped naming, CI token scopes, Bypass 2FA, and common publish failures.

Co-authored-by: Cursor <cursoragent@cursor.com>
@darekaze darekaze merged commit ff06dda into main Jul 1, 2026
@darekaze darekaze deleted the fix/issue-34 branch July 1, 2026 08:19
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.

Set up npm release publishing with GitHub Actions

1 participant