Update version and publish npm from GH

Setting up CI with GitHub Actions to update a node.js package version from GitHub release tag and publish it to npm

Super proud of this, since it's my first node.js package ever (created brand-new account on https://www.npmjs.com/arrow-up-right and all 😁), for doing syntax highlightingarrow-up-right for dotnetconfigarrow-up-right that works in docfxarrow-up-right.

Assuming you already have a package.json in the root repo dir, add the .github\workflows\npm.yml as follows:

name: publish

on:
  release:
    types: [created]

jobs:
  publish-npm:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: 12
          registry-url: https://registry.npmjs.org/
      - name: Set version from tag
        run: npm --no-git-tag-version version ${GITHUB_REF#refs/*/}
      - run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{secrets.npm_token}}
  1. I'm running only on release creation

  2. Using the GitHub envvar for the checked out tagarrow-up-right, I'm updating the versionarrow-up-right but opting out of the git behavior (which fails on CI because it's a detached head at that point)

  3. Finally you'll need to create that secret in GHarrow-up-right for the publish step.

Last updated