Fix release workflow (#233) #47
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: CD | |
on: | |
push: | |
branches: [main] | |
env: | |
NODE_VERSION: 18.x | |
jobs: | |
bump-version: | |
name: Bump package.json Version | |
runs-on: ubuntu-latest | |
if: ${{ !startsWith(github.event.head_commit.message, '[CI/CD]') }} | |
outputs: | |
tag-name: ${{ steps.lib-bump.outputs.newTag }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
# This is a public_repo Github personal access token. | |
token: ${{ secrets.WORKFLOW_GITHUB_TOKEN }} | |
- name: Bump version | |
id: lib-bump | |
uses: phips28/[email protected] | |
with: | |
tag-prefix: 'v' | |
commit-message: '[CI/CD]: bump to {{version}}' | |
github-release: | |
name: Release on Github | |
needs: bump-version | |
if: startsWith(needs.bump-version.outputs.tag-name, 'v') | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ needs.bump-version.outputs.tag-name }} | |
- name: Release | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: ${{ needs.bump-version.outputs.tag-name }} | |
npm-release: | |
name: Release on NPM | |
needs: bump-version | |
if: startsWith(needs.bump-version.outputs.tag-name, 'v') | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ needs.bump-version.outputs.tag-name }} | |
- name: Use node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Install | |
run: npm ci | |
- name: Build | |
run: npm run build | |
- name: Add token to .npmrc | |
env: | |
# This is a granular NPM access token with | |
# "Packages and scopes" permission "Read and write" | |
# for the four sherlock packages only. | |
npmToken: ${{ secrets.WORKFLOW_NPM_TOKEN }} | |
run: echo "//registry.npmjs.org/:_authToken=$npmToken" >> .npmrc | |
- name: Release sherlock | |
run: npm publish ./dist/sherlock | |
- name: Release sherlock-proxy | |
run: npm publish ./dist/sherlock-proxy | |
- name: Release sherlock-rxjs | |
run: npm publish ./dist/sherlock-rxjs | |
- name: Release sherlock-utils | |
run: npm publish ./dist/sherlock-utils |