In-range update of npm dependencies #857
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: GitHub CI | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
general-checks-test-coverage: | |
name: General checks, tests and coverage reporting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- name: Use Node.js LTS 18.x | |
uses: actions/[email protected] | |
with: | |
node-version: 18.x | |
- name: Install dependencies | |
run: npm ci | |
- name: Perform checks and tests | |
run: npm test | |
- name: Send report to Coveralls | |
uses: coverallsapp/[email protected] | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
test-matrix: | |
name: Unit / Integration tests on Node.js ${{ matrix.node-version }} and ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: [16, 18] | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
include: | |
- node-version: 19 | |
os: ubuntu-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/[email protected] | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/[email protected] | |
with: | |
node-version: ${{ matrix.node-version }} | |
# Using 'install' instead of 'ci' as npm v7 doesn't run the 'prepare' script | |
# (see https://github.com/npm/cli/issues/1905) | |
- run: npm install | |
name: Install dependencies | |
- run: npm ls --prod | |
name: Check for missing / extraneous dependencies | |
- run: npm run unit | |
name: Run unit tests | |
- run: npm run integration | |
name: Run integration tests | |
# Test matrix for older karma versions to ensure compatibility | |
test-karma-matrix: | |
name: Integration tests with karma v${{matrix.karma-version}} | |
strategy: | |
fail-fast: false | |
matrix: | |
karma-version: [ | |
"4.3.0", # minimum v4.x version as defined in package.json#peerDependencies | |
"4", # latest v4.x | |
"5" # latest v5.x | |
] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- name: Use Node.js LTS 18.x | |
uses: actions/[email protected] | |
with: | |
node-version: 18.x | |
- name: Install dependencies | |
run: npm ci | |
- name: Install karma v${{matrix.karma-version}} | |
run: npm i -D karma@${{matrix.karma-version}} | |
- name: Run integration tests | |
run: npm run integration |