Skip to content

Release to NPM

Release to NPM #8

Workflow file for this run

name: Release to NPM
on:
workflow_dispatch:
inputs:
version:
type: string
description: Version to release, e.g. "v0.1.2"
required: false
push:
tags:
- 'v*.*.*'
jobs:
npm-publish:
strategy:
matrix:
language: [ js, ts ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18.16.0
- name: Set version env
id: set_version
## if version is not provided as input, use the tag name
run: |
echo "tag=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT
if [ -z "${{ github.event.inputs.version }}" ]; then
echo "tag=${{ github.ref }}" >> $GITHUB_OUTPUT
fi
- name: Update version of npm package
working-directory: ./${{ matrix.language }}
env:
RELEASE_VERSION: ${{ steps.set_version.outputs.tag }}
run: |
npm version $RELEASE_VERSION
- name: publish the npm package
uses: JS-DevTools/npm-publish@v2
with:
package: ./${{ matrix.language }}
token: ${{ secrets.NPM_TOKEN }}