chore(deps-dev): bump puppeteer from 22.15.0 to 25.11.0 (#2409) #4395
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: webpack-dev-middleware | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - next | |
| - hot-middleware | |
| pull_request: | |
| branches: | |
| - main | |
| - next | |
| - hot-middleware | |
| # A new commit supersedes the previous one's jobs, so stop paying for them: the | |
| # matrix below fans out across three operating systems and four Node.js | |
| # versions. Only pull request runs share a group; every other run gets a group | |
| # of its own (`github.run_id`), because a group holds at most one pending run | |
| # and a later push would otherwise evict the one waiting — `cancel-in-progress` | |
| # protects the running run, not the queued one. The branches this also builds | |
| # on push (`main`, `next`, `hot-middleware`) publish coverage, and losing one of | |
| # those runs would also hide a breakage that is already on the branch. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.ref || github.run_id }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint: | |
| name: Lint - ${{ matrix.os }} - Node v${{ matrix.node-version }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest] | |
| node-version: [lts/*] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| fetch-depth: 0 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: "npm" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Lint | |
| run: npm run lint | |
| - name: Build types | |
| run: npm run build:types | |
| - name: Check types | |
| run: if [ -n "$(git status types --porcelain)" ]; then echo "Missing types. Update types by running 'npm run build:types'"; exit 1; else echo "All types are valid"; fi | |
| test: | |
| name: Test - ${{ matrix.os }} - Node v${{ matrix.node-version }}, Webpack ${{ matrix.webpack-version }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| node-version: [20.x, 22.x, 24.x, 25.x] | |
| webpack-version: [latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: "npm" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Run tests for webpack version ${{ matrix.webpack-version }} | |
| run: npm run test:coverage -- --ci | |
| - name: Upload coverage artifact | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: coverage-${{ matrix.os }}-${{ matrix.node-version }}-${{ strategy.job-index }} | |
| path: coverage/lcov.info | |
| client: | |
| name: Client - ubuntu-latest - Node lts/* | |
| # The browser suite drives a real Chromium, so it reports the same thing on | |
| # every OS and node version. One job runs it, off the matrix. | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Use Node.js | |
| uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 | |
| with: | |
| node-version: lts/* | |
| cache: "npm" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Run browser e2e tests | |
| # E2E_COVERAGE instruments the hot client as webpack bundles it, so the | |
| # browser reports what these tests exercised in `client-src`; the flags | |
| # measure `src` in this process. | |
| run: npm run test:e2e -- --ci --collectCoverageFrom="src/**/*.js" --coverage --coverageDirectory=coverage-e2e | |
| env: | |
| E2E_COVERAGE: "1" | |
| - name: Collect hot client coverage from the browser | |
| run: npm run coverage:client | |
| - name: Upload coverage artifact | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: coverage-client | |
| path: | | |
| coverage-e2e/lcov.info | |
| coverage-client/lcov.info | |
| upload-coverage: | |
| name: Upload coverage to codecov | |
| needs: [test, client] | |
| # Without this, one red job skips the upload and codecov gets nothing for | |
| # the run — exactly when the report is worth reading. | |
| if: always() | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Download coverage artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| pattern: coverage-* | |
| path: coverage | |
| - name: Submit coverage data to codecov | |
| uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| directory: coverage |