docs(net): regenerate for 3.0.4, where overlapping ranges are coalesced #149
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: Checks | |
| # Runs `npm test` — redirects, page dates, broken links, sitemap — on every push | |
| # and pull request. | |
| # | |
| # Until now these ran only in .githooks/pre-commit, which is bypassable with | |
| # --no-verify and, more to the point, never runs at all for a commit made through | |
| # the GitHub UI or by the sync-cli-guide bot. Three separate regressions shipped to | |
| # production that this would have caught: | |
| # | |
| # * ~90 dead /api/ redirect rules — Cloudflare Pages silently drops _redirects | |
| # rules past the 100th, so the current major's URLs hard-404ed | |
| # * six /api/<pkg>/<seg>/<pkg>/ URLs left 404ing when the duplicate package page | |
| # was removed, while still indexable and listed in the sitemap | |
| # * a stale pageDates.json, which decides whether docs pages carry a real | |
| # publication date or none at all | |
| # | |
| # Nothing here talks to the network or the deployed site, so it is safe to run on | |
| # pull requests from forks. | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| workflow_dispatch: | |
| # A superseded run tells you nothing; only the tip of a branch matters. | |
| concurrency: | |
| group: checks-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| # REQUIRED: scripts/gen-page-dates.js --check reads git history | |
| # (`git log --follow --diff-filter=A`) to verify every page's recorded | |
| # publication date. The default shallow fetch has one commit, so every | |
| # file would appear to have been added by it and the check would fail on | |
| # every run. | |
| fetch-depth: 0 | |
| # REQUIRED: the search ranker is the imqueue/search-ranker submodule at | |
| # vendor/search-ranker. Without this the checkout leaves it empty and the | |
| # build throws (scripts/lib/asset-manifest.js) — which is the designed | |
| # behaviour, but it means every run here fails rather than checking | |
| # anything. Every workflow in this repo that runs `npm test` or | |
| # `npm run build:all` needs it, and all of them do. | |
| submodules: true | |
| - uses: actions/setup-node@v7 | |
| with: | |
| # 22 in all five workflows and in .nvmrc, which is the point: .nvmrc | |
| # exists so a local shell runs what CI runs, and it said 20 while every | |
| # workflow said 22 — so `nvm use` was arranging to reproduce bugs on a | |
| # version nothing tested. Change all six together or not at all. | |
| node-version: 22 | |
| cache: npm | |
| - run: npm ci | |
| # check:links builds both editions itself, and check:sitemap then reads that | |
| # output, so the ordering inside `npm test` already covers the build. | |
| - name: npm test (redirects, dates, links, sitemap) | |
| run: npm test | |
| # The two NETWORKED checks. Deliberately outside `npm test`, which runs in the | |
| # pre-commit hook and must work offline — the same split check-api-versions.js | |
| # has always had. Here is where they actually get run, because a `--check` | |
| # script nothing invokes is this repo's recurring failure mode: | |
| # `sync-cli-guide:check` has existed for months with no caller, and | |
| # `check:links:external` sat unrun long enough to break unnoticed. | |
| # | |
| # Both run even if the other failed, and both AFTER npm test, so a red build | |
| # still tells you everything that is wrong in one pass. | |
| - name: npm run check:package-status:npm (is /status/ still what npm says?) | |
| if: always() | |
| run: npm run check:package-status:npm | |
| - name: npm run check:ranker-engine (does the pinned engine still match master?) | |
| if: always() | |
| run: npm run check:ranker-engine |