Skip to content

Latest commit

 

History

History
69 lines (52 loc) · 1.92 KB

File metadata and controls

69 lines (52 loc) · 1.92 KB

Releasing pine-voice

Prerequisites (one-time setup)

npm Trusted Publishing

Publishing uses OIDC-based trusted publishing — no npm tokens needed.

  1. Publish the first version manually (trusted publishing requires the package to exist):
    npm login
    npm publish --access public
  2. Go to npmjs.compine-voiceSettingsTrusted Publisher
  3. Select GitHub Actions and configure:
    • Organization or user: 19PINE-AI
    • Repository: pine-voice-js
    • Workflow filename: publish.yml
    • Environment name: (leave blank)
  4. Click Set up connection

After this, all future publishes are automatic via CI.

Publishing a new version

  1. Bump the version in package.json:

    # For a patch release (0.1.0 → 0.1.1)
    npm version patch --no-git-tag-version
    
    # For a minor release (0.1.1 → 0.2.0)
    npm version minor --no-git-tag-version
    
    # For a major release (0.2.0 → 1.0.0)
    npm version major --no-git-tag-version
  2. Commit and tag:

    git add package.json
    git commit -m "release: v<VERSION>"
    git tag v<VERSION>
  3. Push with tags:

    git push origin main --tags
  4. Monitor the publish workflow at the repo's Actions tab on GitHub.

  5. Verify the published package:

    npm view pine-voice

What happens on tag push

  1. The CI workflow runs (build across Node 18, 20, 22)
  2. If CI passes, the publish job runs
  3. npm CLI exchanges a GitHub OIDC token for a short-lived npm publish token
  4. Package is published to npm with --access public

Notes

  • The RELEASING.md file is not included in the npm package (not in the files field)
  • Trusted publishing eliminates the need for stored npm tokens
  • Only tag pushes matching v* trigger the publish workflow
  • openclaw-pine-voice depends on this package — publish this first when both need updating