name: Node.js CI on: push: branches: [main] pull_request: branches: [main] jobs: test_node: runs-on: ubuntu-latest strategy: matrix: node-version: [18, 20, 22] steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: npm - run: npm ci - run: npm test test_node_legacy: runs-on: ubuntu-latest strategy: matrix: node-version: [12, 14, 16] defaults: run: working-directory: ./test/node-legacy steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: npm - run: npm i - run: npm test test_node_legacy_umd: runs-on: ubuntu-latest strategy: matrix: node-version: [8, 10] defaults: run: working-directory: ./test/node-legacy-umd steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: npm - run: npm i - run: npm test test_browser: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 cache: npm - run: npm ci - run: npm run test:browserstack env: BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }} BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}