ci: enhance our test environment setup #272
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
# Github actions workflow name | |
name: CI | |
# Triggers the workflow on push or pull request events | |
on: | |
push: | |
branches: [main, master] | |
pull_request: | |
branches: [main, master] | |
jobs: | |
basic_node_test: | |
name: 'Basic tests on ubuntu-latest with nodejs v22 (current LTS version)' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Install npm dependencies | |
run: npm install | |
- name: Print put node & npm version | |
run: node --version && npm --version | |
- name: Install chromium | |
run: npx playwright install chromium | |
- name: Run unit test | |
run: npm run test | |
windows_and_macos_test: | |
name: 'Platform tests on ${{matrix.os}} with nodejs v${{matrix.node}}' | |
needs: basic_node_test | |
strategy: | |
matrix: | |
# Test all mainstream operating system | |
os: [macos-latest, windows-latest] | |
node: [22] | |
runs-on: ${{ matrix.os }} | |
steps: | |
# Pull repo to test machine | |
- uses: actions/checkout@v2 | |
# Configures the node version used on GitHub-hosted runners | |
- uses: actions/setup-node@v2 | |
with: | |
# The Node.js version to configure | |
node-version: ${{ matrix.node }} | |
- name: Install npm dependencies | |
run: npm install | |
- name: Print put node & npm version | |
# Output useful info for debugging. | |
run: node --version && npm --version | |
- name: Install chromium | |
run: npx playwright install chromium | |
- name: Run unit test | |
run: npm run test | |
historical_versions_node_test: | |
name: 'Historical version nodejs v${{matrix.node}} test' | |
needs: basic_node_test | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
node: [14, 16, 18, 20] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Install npm dependencies | |
run: npm install | |
- name: Print put node & npm version | |
run: node --version && npm --version | |
- name: Install chromium | |
run: npx playwright install chromium | |
- name: Run unit test | |
run: npm run test | |
allow_failure_testing_for_node23: | |
name: 'Allow failure for nodejs v23 tests' | |
needs: basic_node_test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: 23 | |
- name: Install npm dependencies | |
run: npm install | |
- name: Print put node & npm version | |
run: node --version && npm --version | |
- name: Install chromium | |
run: npx playwright install chromium | |
- name: Run unit test | |
run: npm run test |