Skip to content

Publish to npm (using node)

Actions
Automatically publish new versions to npm
v0.1.3
Latest
Star (2)

npm-publish-action

GitHub action to automatically publish packages to npm.

Usage

Create a new .github/workflows/npm-publish.yml file:

name: npm-publish
on:
  push:
    branches:
      - master # Change this to your default branch
jobs:
  npm-publish:
    name: npm-publish
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@master
    - name: Set up Node.js
      uses: actions/setup-node@master
      with:
        node-version: 10.0.0
    - name: Publish if version has been updated
      uses: houtianze/npm-publish-action@master
      with: # All of theses inputs are optional
        tag_name: "v%s"
        tag_message: "v%s"
        commit_pattern: "^(?:Release|Version) (\\S+)"
      env: # More info about the environment variables in the README
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this as is, it's automatically generated
        NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} # You need to set this in your repo settings

Now, when someone changes the version in package.json to 1.2.3 and pushes a commit with the message Release 1.2.3, the npm-publish action will create a new tag v1.2.3 and publish the package to the npm registry.

Inputs

These inputs are optional: that means that if you don't enter them, default values will be used and it'll work just fine.

  • tag_name: the name pattern of the new tag (the placeholder '%s' must be there)
  • tag_message: the message pattern of the new tag (the placeholder '%s' must be there)
  • commit_pattern: pattern that the commit message needs to follow

Environment variables

  • GITHUB_TOKEN: this is a token that GitHub generates automatically, you only need to pass it to the action as in the example
  • NPM_AUTH_TOKEN: this is the token the action will use to authenticate to npm. You need to generate one in npm, then you can add it to your secrets (settings -> secrets) so that it can be passed to the action. DO NOT put the token directly in your workflow file.

Related projects

  • version-check allows to define custom workflows based on version changes

License

MIT

Publish to npm (using node) is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Automatically publish new versions to npm
v0.1.3
Latest

Publish to npm (using node) is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.