.github/workflows/deploy.yml
name: Automated deploy
on:
release:
types: [created]
env:
VERSION: ${{ github.event.release.tag_name }}
TARGET_REF: ${{ github.event.release.target_commitish }}
TAG: ${{ github.event.release.target_commitish == 'master' && 'latest' || 'next' }}
jobs:
install-deps:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ env.TARGET_REF }}
token: ${{ secrets.GPR_TOKEN }}
- name: Install deps
uses: ./.github/workflows/composite/npm
build:
runs-on: ubuntu-latest
needs: install-deps
steps:
- uses: actions/checkout@v4
with:
ref: ${{ env.TARGET_REF }}
token: ${{ secrets.GPR_TOKEN }}
- name: Install deps
uses: ./.github/workflows/composite/npm
- name: Build package
run: npm run build
- uses: actions/upload-artifact@v4
with:
name: build
path: |
dist
package.json
package-lock.json
README.md
LICENSE
publish-to-npm:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
with:
ref: ${{ env.TARGET_REF }}
token: ${{ secrets.GPR_TOKEN }}
- uses: actions/download-artifact@v4
with:
name: build
- name: Install deps
uses: ./.github/workflows/composite/npm
- name: Publish package to NPM
run: npm publish --tag $TAG
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
publish-to-gpr:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
with:
ref: ${{ env.TARGET_REF }}
token: ${{ secrets.GPR_TOKEN }}
- uses: actions/download-artifact@v4
with:
name: build
- name: Install deps
uses: ./.github/workflows/composite/npm
with:
registry: 'https://npm.pkg.github.com/neuralegion'
scope: '@NeuraLegion'
- name: Publish package to GPR
run: npm publish --tag $TAG
env:
NODE_AUTH_TOKEN: ${{ secrets.GPR_TOKEN }}