Skip to content

build: add release script #25

build: add release script

build: add release script #25

Workflow file for this run

# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
name: CI
on:
push:
branches:
- main
- tags
pull_request:
branches: ['main']
jobs:
build:
runs-on: ubuntu-latest
environment: release
strategy:
matrix:
node-version: [16.x, 18.x]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: setup node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: install dependencies
run: npm install
- name: setup emscripten
run: cd emsdk && ./emsdk install latest && ./emsdk activate latest && cd ..
- name: build esm
run: npm run build:esm --if-present
- name: build cjs
run: npm run build:cjs --if-present
- name: test
run: npm run test
release:
if: ${{ startsWith(github.ref, 'refs/tags') && startsWith(github.ref_name, 'v') }}
runs-on: ubuntu-latest
needs: [build]
environment: release
steps:
- name: release
run: npm run release
env:
NPM_AUTH_TOKEN: ${{ vars.NPM_PUBLISH_TOKEN }}