name: Test NodeJS on: workflow_dispatch: pull_request: push: branches: - main jobs: test-node: runs-on: ubuntu-latest strategy: fail-fast: false matrix: node-version: [16.x, 18.x, 20.x] steps: - uses: actions/checkout@v2 with: submodules: 'recursive' - name: Reconfigure git to use HTTP authentication run: > git config --global url."https://github.com/".insteadOf ssh://git@github.com/ - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - run: npm ci - run: npm run test:node env: CI: true - name: Generate private API usage reports run: npm run process-private-api-data private-api-usage/*.json - name: Save private API usage data uses: actions/upload-artifact@v4 with: name: private-api-usage-${{ matrix.node-version }} path: | private-api-usage private-api-usage-reports - name: Upload test results if: always() uses: ably/test-observability-action@v1 with: server-auth: ${{ secrets.TEST_OBSERVABILITY_SERVER_AUTH_KEY }} path: './junit'