Skip to content

πŸš€ Manual Release #13

πŸš€ Manual Release

πŸš€ Manual Release #13

name: πŸš€ Manual Release
on:
workflow_dispatch:
inputs:
release_type:
description: 'Release Type'
required: true
type: choice
options:
- patch
- minor
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: πŸ› οΈ Setup Git
run: |
git config --global user.name 'GitHub Actions Bot'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
- name: πŸ› οΈ Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18.x'
registry-url: 'https://registry.npmjs.org'
- name: πŸ› οΈ Install dependencies
run: yarn
- name: πŸ› οΈ Build
run: yarn build
- name: 🟒 Create new version
run: |
npm version ${{ inputs.release_type }}
- name: 🌍 Push changes
run: |
git push
git push --tags
- name: 🌍 Publish to NPM
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: πŸ‘€ Get version
id: version
run: echo "VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_ENV
- name: πŸ“ Create GitHub Release
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ env.VERSION }}
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}