ci: strip stable noindex before pruning deploy noise#15290
Merged
Conversation
The prune step reverts files whose only diff versus gh-pages is build noise. Stable pages are the canonical indexed version, so their noindex robots meta is stripped after deploy — HEAD has no noindex, but a fresh Sphinx build does. With the strip running after the prune, every rebuilt stable file still carried that meta at prune time, counted as a real change, and was kept. The later strip then removed the meta, leaving the file differing from HEAD by only the build timestamp — exactly the noise the prune was meant to drop. Result: the stable folder shipped hundreds of timestamp-only files (e.g. 255 in one deploy) while 32/33/34, which are never stripped, pruned correctly. Move the noindex strip ahead of the prune so noise-only stable pages match HEAD and get reverted like every other version. Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
Contributor
📖 Documentation PreviewNo RST documentation pages changed in this PR. Last updated: Wed, 08 Jul 2026 07:06:37 GMT |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
☑️ Resolves
Follow-up to #15286. That PR pruned build-only noise from the nightly deploy PRs, but the
stablefolder was exempt and still shipped hundreds of timestamp-only files — see #15288 (stable: 255 files, allLast updatedchurn, vs34: 10).🧩 What & why
The prune step reverts any file whose only diff versus
gh-pagesis build noise (Sphinx timestamps, mermaid zoom ids). Stable pages are the canonical, indexed version, so their<meta robots noindex>is stripped on deploy —gh-pagesHEAD has no noindex, but a fresh Sphinx build always emits one.Ordering bug: the noindex strip ran after the prune. So at prune time every rebuilt stable file still carried the noindex meta, which is not a noise pattern → counted as a real change → the file was kept. The later strip then removed the meta, leaving the file differing from HEAD by only the build timestamp — exactly the noise the prune was meant to drop.
32/33/34are never stripped, so their diff was timestamp-only and pruned correctly — which is why onlystablewas affected.Fix: move the noindex strip ahead of the prune. Noise-only stable pages then match HEAD and get reverted like every other version; stable pages with real content changes still keep their change and get stripped.
🖼️ Screenshots
N/A — CI workflow change, no rendered documentation output.
🧪 Testing notes
-Last updated on Jul 07 / +Jul 08only (plus ~10 real link-anchor fixes). With the strip moved first, the 245 timestamp-only stable files match HEAD after stripping and are pruned; the ~10 real ones remain.✅ Checklist
codespellor similar and addressed any spelling issuesThis change was AI-assisted (drafted with Claude Code); the author reviewed and owns it.