test: Add property-based tests #226
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: Build | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the project | |
uses: actions/checkout@v2 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 18.x | |
- name: Install dependencies | |
run: npm i | |
- name: Run lint step | |
run: npm run lint | |
test-node: | |
name: Test on Node.js | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: | |
- 18.x # to be removed 2025-04-30 | |
- 20.x # to be removed 2026-04-30 | |
- 21.x # to be removed 2024-06-01 | |
steps: | |
- name: Checkout the project | |
uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install dependencies | |
run: npm i | |
- name: Run Node.js Tests | |
run: npm run test:node | |
test-linux-browsers: | |
name: Test on Linux Firefox & Chrome | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the project | |
uses: actions/checkout@v2 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 18.x | |
- name: Install dependencies | |
run: npm i | |
- name: Run Node.js Tests | |
run: npm run test:browser | |
- name: Upload coverage | |
if: success() | |
uses: codecov/codecov-action@v1 | |
test-windows-browsers: | |
name: Test on Windows Firefox, Chrome & Edge | |
runs-on: windows-latest | |
steps: | |
- name: Checkout the project | |
uses: actions/checkout@v2 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 18.x | |
- name: Install dependencies | |
run: npm i | |
- name: Run Node.js Tests | |
run: npm run test:browser |