on: push: branches: - main pull_request: name: ci jobs: test: runs-on: ubuntu-latest strategy: matrix: node: [20] steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} # The first installation step ensures that all of our production # dependencies work on the given Node.js version, this helps us find # dependencies that don't match our engines field: - run: npm install --production --engine-strict --ignore-scripts --no-package-lock # Clean up the production install, before installing dev/production: - run: rm -rf node_modules - run: npm ci - run: npm test windows: runs-on: windows-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 20 - run: npm ci - run: npm test build-dist: runs-on: ubuntu-latest strategy: matrix: node: [20] steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - run: npm ci - run: npm run build