Skip to content

Node.js builds

Node.js builds #2

Workflow file for this run

name: Node.js builds
on:
push:
tags:
- v?[0-9]+.[0-9]+.[0-9]+.[0-9]+
- v?[0-9]+.[0-9]+.[0-9]+
- v?[0-9]+.[0-9]+
jobs:
create-release:
name: Create release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- env:
GH_TOKEN: ${{github.token}}
run: |
REF=${{github.ref}}
TAG=${REF#"refs/tags/"}
gh release create -t "Release ${TAG}" -n "" "${{github.ref}}"
build:
name: Node.js ${{matrix.node-version}} on ${{matrix.os}}
needs: create-release
runs-on: ${{matrix.os}}
strategy:
matrix:
os: [macOS-latest, windows-latest]
node-version: [18, 20, 21]
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Setup Node.js ${{matrix.node-version}}
uses: actions/setup-node@v3
with:
node-version: ${{matrix.node-version}}
- name: Install the package and run tests
env:
DEVELOPMENT_SKIP_GETTING_ASSET: true
run: |
npm i
npm run build --if-present
npm test
- name: Save to GitHub
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
run: npm run save-to-github
build-linux-node-18:
name: Node.js 18 on Debian Buster
needs: create-release
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install, test, and create artifact
uses: ./.github/actions/linux-node-18/
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
build-linux-node-20:
name: Node.js 20 on Debian Buster
needs: create-release
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install, test, and create artifact
uses: ./.github/actions/linux-node-20/
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
build-linux-node-21:
name: Node.js 21 on Debian Bullseye
needs: create-release
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install, test, and create artifact
uses: ./.github/actions/linux-node-21/
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
build-linux-alpine-node-18:
name: Node.js 18 on Alpine Linux
needs: create-release
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install, test, and create artifact
uses: ./.github/actions/linux-alpine-node-18/
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
build-linux-alpine-node-20:
name: Node.js 20 on Alpine Linux
needs: create-release
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install, test, and create artifact
uses: ./.github/actions/linux-alpine-node-20/
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
build-linux-alpine-node-21:
name: Node.js 21 on Alpine Linux
needs: create-release
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install, test, and create artifact
uses: ./.github/actions/linux-alpine-node-21/
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}