# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs name: test on: workflow_dispatch: push: branches: - main pull_request: branches: - main jobs: complete: name: Test completion check if: always() permissions: contents: none runs-on: ubuntu-latest needs: - test steps: - name: Failed run: exit 1 if: > contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') test: runs-on: ${{ matrix.os }} defaults: run: shell: bash strategy: fail-fast: false matrix: node-version: [20, 22, 24] os: [ubuntu-latest, macos-latest, windows-latest] steps: - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4.4.0 with: node-version: ${{ matrix.node-version }} cache: npm - run: ./scripts/ci/test.sh