Publish to NPM #122
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish to NPM | |
on: | |
workflow_dispatch: | |
inputs: | |
major: | |
description: 'Major' | |
type: boolean | |
default: false | |
minor: | |
description: 'Minor' | |
type: boolean | |
default: false | |
jobs: | |
publish_job: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Setup Git config | |
run: | | |
git config --local user.email '[email protected]' | |
git config --local user.name ${{ github.actor }} | |
- name: Authenticate with registry | |
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: '16.x' | |
registry-url: 'https://registry.npmjs.org' | |
- name: Install Modules | |
run: npm install | |
- name: Run type check | |
run: npm run types:check | |
- name: Run Linter | |
run: npm run lint | |
- name: Run Tests | |
run: npm test | |
- if: ${{ inputs.major == true }} | |
name: Major Release - Bump version number, update changelog, push and tag | |
run: npm run release:major | |
env: | |
GITHUB_TOKEN: ${{ secrets.REPO_TOKEN }} | |
PAT_GITHUB: ${{ secrets.PAT_GITHUB }} | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
- if: ${{inputs.major == false && inputs.minor == true}} | |
name: Minor release - Bump version number, update changelog, push and tag | |
run: npm run release:minor | |
env: | |
GITHUB_TOKEN: ${{ secrets.REPO_TOKEN }} | |
PAT_GITHUB: ${{ secrets.PAT_GITHUB }} | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
- if: ${{inputs.major == false && inputs.minor == false}} | |
name: Patch release - Bump version number, update changelog, push and tag | |
run: npm run release:patch | |
env: | |
GITHUB_TOKEN: ${{ secrets.REPO_TOKEN }} | |
PAT_GITHUB: ${{ secrets.PAT_GITHUB }} | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |