Linear

by tacticlaunch
Verified
name: Publish to npm on: workflow_dispatch: inputs: version: description: 'Version bump type (patch, minor, major)' required: true default: 'patch' type: choice options: - patch - minor - major jobs: publish: runs-on: ubuntu-latest permissions: contents: write steps: - name: Checkout repository uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: '20.x' registry-url: 'https://registry.npmjs.org/' - name: Install dependencies run: npm ci - name: Run tests run: npm test - name: Build run: npm run build - name: Version bump id: version run: | git config --global user.name 'GitHub Action' git config --global user.email 'action@github.com' npm version ${{ github.event.inputs.version }} -m "Bump version to %s [skip ci]" echo "VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT - name: Push changes run: git push --follow-tags - name: Create GitHub Release uses: softprops/action-gh-release@v1 with: tag_name: v${{ steps.version.outputs.VERSION }} generate_release_notes: true - name: Publish to npm run: npm publish --access public env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}