Skip to content

chore: tag and release version #55

chore: tag and release version

chore: tag and release version #55

Workflow file for this run

name: Release and Publish to NPM
on:
push:
branches:
- main
jobs:
publish:
name: Publish
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
registry-url: "https://registry.npmjs.org"
- name: Install dependencies
run: |
npm cache clean --force
rm -rf node_modules package-lock.json
npm install
- name: Lint
run: npm run lint
- name: Publish to npm
id: publish_to_npm
run: npm publish --access public --registry=https://registry.npmjs.org/ --tag latest --npm-token=${{ secrets.NPM_TOKEN }}
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Extract version
if: steps.publish_to_npm.outcome == 'success'
id: extract_version
uses: Saionaro/extract-package-version@v1.2.1
- name: Create tag
if: steps.publish_to_npm.outcome == 'success'
uses: rickstaa/action-create-tag@v1
with:
tag: "v${{ steps.extract_version.outputs.version }}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create release
if: steps.publish_to_npm.outcome == 'success'
uses: softprops/action-gh-release@v1
with:
tag_name: "v${{ steps.extract_version.outputs.version }}"
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}