38 #35
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: Build & Test | |
on: | |
push: | |
branches: ["master"] | |
pull_request: | |
branches: ["master"] | |
jobs: | |
build: | |
strategy: | |
matrix: | |
node: [16, 18, 20, 21] | |
os: [ubuntu-22.04] | |
include: | |
# single mac test due to minute multipliers | |
# https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions | |
- node: 20 | |
os: macos-12 | |
# single windows test due to node.js 14 node-gyp / vs 2022 issues | |
- node: 20 | |
os: windows-2022 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Install Node ${{ matrix.node }} in ${{ runner.os }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
cache: "npm" | |
- name: Update node-gyp | |
run: npm install --global node-gyp@latest | |
- name: Install Windows packages | |
if: runner.os == 'Windows' | |
run: ./win_install.ps1 | |
- name: Build | |
run: npm ci | |
# skipping on windows for now due to Make / mocha exit code issues | |
- name: Test | |
if: runner.os != 'Windows' | |
run: npm test |