name: CI Node.js on: push: branches: [ main ] pull_request: jobs: test: name: Node.js ${{ matrix.node-version }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest] node-version: [ '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25' ] steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'npm' # This is due to bugs in npm 3’s handling of newer package formats. - name: Use npm@3.10.10 for Node@5 if: matrix.node-version == '5' run: npm install -g npm@3.10.10 - name: Install dependencies run: npm install - name: Run Validate run: npm run validate