[network] Evict settled requests from the cache synchronously #283
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: Tests | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - master | |
| workflow_dispatch: | |
| branches: | |
| - master | |
| jobs: | |
| # bin/build only lints src/, so specs and the tooling need their own step. It is a | |
| # separate job rather than a step in `test`, which would repeat it once per matrix entry. | |
| lint: | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 5 | |
| name: Lint | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Read .nvmrc | |
| run: echo "##[set-output name=NVMRC;]$(cat .nvmrc)" | |
| id: nvm | |
| - name: Install Node.js vom .nvmrc | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "${{ steps.nvm.outputs.NVMRC }}" | |
| - name: Install npm dependencies | |
| run: npm ci | |
| - name: Lint src, specs and tooling | |
| run: bin/lint | |
| test: | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 16 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: Chrome without CSP | |
| browser: chrome | |
| csp: none | |
| - name: Chrome with nonce-only CSP | |
| browser: chrome | |
| csp: nonce-only | |
| - name: Chrome with strict-dynamic CSP | |
| browser: chrome | |
| csp: strict-dynamic | |
| - name: Chrome with unpoly-migrate | |
| browser: chrome | |
| migrate: true | |
| - name: Chrome with ES6 build | |
| browser: chrome | |
| es6: true | |
| - name: Chrome with minified build | |
| browser: chrome | |
| min: true | |
| # - name: Firefox | |
| # browser: firefox | |
| name: ${{ matrix.name }} | |
| env: | |
| BROWSER: "${{ matrix.browser }}" | |
| CSP: "${{ matrix.csp }}" | |
| MIGRATE: "${{ matrix.migrate }}" | |
| ES6: "${{ matrix.es6 }}" | |
| # Config reads MINIFY (the `minify` setting); MIN would be silently ignored. | |
| MINIFY: "${{ matrix.min }}" | |
| # To debug Puppeteer/CDP issues in CI, uncomment (the runner leaves DEBUG free | |
| # for Puppeteer's own `debug` logging — locally: `DEBUG=puppeteer:* bin/ci`): | |
| # DEBUG: "puppeteer:*,-puppeteer:protocol:*,-puppeteer:webDriverBiDi:*" | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Read .nvmrc | |
| run: echo "##[set-output name=NVMRC;]$(cat .nvmrc)" | |
| id: nvm | |
| - name: Install Node.js vom .nvmrc | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "${{ steps.nvm.outputs.NVMRC }}" | |
| - name: Install npm dependencies | |
| run: npm ci | |
| - name: Install Firefox for Puppeteer | |
| if: matrix.browser == 'firefox' | |
| run: npx puppeteer browsers install firefox | |
| - name: Build Unpoly and tests | |
| run: bin/build --config=ci | |
| # bin/ci boots its own spec server in-process and runs against the CI build | |
| # artifacts, so there is no separate "start server" / "wait for server" step. | |
| - name: Run tests | |
| run: bin/ci |