# This workflow create a new tag, a release and then publish it to NPM. name: "Create Release" on: workflow_dispatch: inputs: version: description: 'version to bump [major, minor, patch, premajor, preminor, prepatch, prerelease]' required: false default: patch type: string message: description: 'version commit message to be used' required: false default: 'Bumping version %s' type: string jobs: tag-and-publish: name: "Tag and Publish" runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: 16 registry-url: https://registry.npmjs.org/ - run: npm version $(semver $npm_package_version -i ${{ inputs.version }}) -m "${{ inputs.message }}" - run: npm install - run: npm publish --access public env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} create-release: name: "Create Release" needs: tag-and-publish runs-on: "ubuntu-latest" steps: - uses: "marvinpinto/action-automatic-releases@latest" with: repo_token: "${{ secrets.GITHUB_TOKEN }}" automatic_release_tag: "${{ inputs.version }}" prerelease: false