refactor: consolidate CI workflows and enhance publishing process for… #28
Workflow file for this run
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: CI/CD | |
on: [push] | |
jobs: | |
integrate: | |
name: Format, Lint, Test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Use Latest Version of Deno | |
uses: denoland/setup-deno@v2 | |
with: | |
deno-version: v2.x | |
- name: Deno Format | |
run: deno fmt --check | |
- name: Deno Lint | |
run: deno lint | |
- name: Deno Test | |
run: deno test | |
publish: | |
name: Publish to JSR and NPM | |
needs: [integrate] | |
if: startsWith(github.event.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: denoland/setup-deno@v2 | |
with: | |
deno-version: v2.x | |
- name: Publish package to JSR | |
run: | | |
deno run -A ./scripts/prep-jsr.ts ${{ github.ref }} | |
deno publish --allow-dirty | |
- name: build npm package | |
run: deno run -A ./scripts/build_npm.ts ${{ github.ref }} | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: "20.x" | |
registry-url: "https://registry.npmjs.org" | |
- name: publish npm package | |
run: | | |
cd npm | |
npm publish --access=public | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |