Skip to content

Commit

Permalink
Automate releases
Browse files Browse the repository at this point in the history
The `pack` job creates the npm package for every commit. The `release`
job publishes the package for git tags.
  • Loading branch information
remcohaszing committed Sep 23, 2024
1 parent a5e4b98 commit e5be9a1
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,20 @@ jobs:
- run: corepack yarn
- run: corepack yarn eslint .

pack:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: corepack yarn
- run: corepack yarn pack
- uses: actions/upload-artifact@v4
with:
name: package
path: '*.tgz'

prettier:
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -52,3 +66,25 @@ jobs:
node-version: ${{ matrix.node }}
- run: corepack yarn
- run: corepack yarn vitest run --coverage ./test/unit

release:
runs-on: ubuntu-latest
needs:
- eslint
- pack
- prettier
- tsd
- vitest
if: startsWith(github.ref, 'refs/tags/')
permissions:
id-token: write
steps:
- uses: actions/setup-node@v4
with:
node-version: 22
registry-url: https://registry.npmjs.org
- uses: actions/download-artifact@v4
with: { name: package }
- run: npm publish *.tgz --provenance
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

0 comments on commit e5be9a1

Please sign in to comment.