# This workflow will do a clean install, start the selenium server, and run # all of our tests. name: Node.js CI on: [pull_request] permissions: contents: read jobs: build: timeout-minutes: 10 runs-on: ${{ matrix.os }} strategy: matrix: # TODO (#2114): re-enable osx build. # os: [ubuntu-latest, macos-latest] os: [ubuntu-latest] # TODO(#8392): unpin v22 once npm issue fixed. node-version: [18.x, 20.x, 22.4.1] # See supported Node.js release schedule at # https://nodejs.org/en/about/releases/ steps: - uses: actions/checkout@v4 with: persist-credentials: false - 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@v4 with: node-version: ${{ matrix.node-version }} - name: Npm Clean Install run: npm ci - name: Linux Test Setup if: runner.os == 'Linux' run: source ./tests/scripts/setup_linux_env.sh - name: Run run: npm run test env: CI: true lint: timeout-minutes: 5 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Use Node.js 20.x uses: actions/setup-node@v4 with: node-version: 20.x - name: Npm Install run: npm install - name: Lint run: npm run lint format: timeout-minutes: 5 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Use Node.js 20.x uses: actions/setup-node@v4 with: node-version: 20.x - name: Npm Install run: npm install - name: Check Format run: npm run format:check