feat(06-01): create GitHub Actions test workflow

- Tests workflow: push/PR to main + workflow_dispatch
- 3x3 matrix: ubuntu/macos/windows x Node 18/20/22 (9 jobs)
- Concurrency groups with cancel-in-progress
- 10-minute timeout, fail-fast enabled
- Steps: checkout, setup-node with npm cache, npm ci, npm test
This commit is contained in:
Ethan Hurst
2026-02-25 15:09:24 +10:00
parent e0e7929449
commit 9aa9695731

40
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,40 @@
name: Tests
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
node-version: [18, 20, 22]
steps:
- uses: actions/checkout@v4
- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm test