Pages serves exactly the newest artifact, so every push-triggered deploy deleted the previous build's content-hashed JS/CSS while edge caches (max-age=300, stale-while-revalidate=3600) kept serving HTML that referenced them. With deploys landing every ~15-30 min, docs pages spent most of the day pointing at 404'd bundles — search (pure client JS) was the loudest casualty. Fix: keep a rolling 14-day pool of hashed assets (en + zh-Hans) in the Actions cache and union-merge it into each deploy artifact, current build authoritative on collision (cp --update=none). Stale HTML and already-open tabs now keep resolving across any number of deploys. |
||
|---|---|---|
| .. | ||
| ci.yml | ||
| contributor-check.yml | ||
| deploy-site.yml | ||
| docker-lint.yml | ||
| docker.yml | ||
| docs-site-checks.yml | ||
| e2e-desktop.yml | ||
| history-check.yml | ||
| infographic-check.yml | ||
| install-e2e-run.yml | ||
| install-e2e.yml | ||
| installer-tests.yml | ||
| js-autofix.yml | ||
| js-tests.yml | ||
| label-rerun.yml | ||
| lint.yml | ||
| lockfile-diff.yml | ||
| osv-scanner.yml | ||
| publish-e2e-evidence.yml | ||
| review-labels.yml | ||
| skills-index-freshness.yml | ||
| skills-index.yml | ||
| supply-chain-audit.yml | ||
| tests.yml | ||
| uv-lockfile-check.yml | ||