Skip to content

ci: strip stable noindex before pruning deploy noise#15290

Merged
skjnldsv merged 1 commit into
masterfrom
fix/deploy-prune-stable-noindex
Jul 8, 2026
Merged

ci: strip stable noindex before pruning deploy noise#15290
skjnldsv merged 1 commit into
masterfrom
fix/deploy-prune-stable-noindex

Conversation

@skjnldsv

@skjnldsv skjnldsv commented Jul 8, 2026

Copy link
Copy Markdown
Member

☑️ Resolves

Follow-up to #15286. That PR pruned build-only noise from the nightly deploy PRs, but the stable folder was exempt and still shipped hundreds of timestamp-only files — see #15288 (stable: 255 files, all Last updated churn, vs 34: 10).

🧩 What & why

The prune step reverts any file whose only diff versus gh-pages is build noise (Sphinx timestamps, mermaid zoom ids). Stable pages are the canonical, indexed version, so their <meta robots noindex> is stripped on deploy — gh-pages HEAD 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 / 34 are never stripped, so their diff was timestamp-only and pruned correctly — which is why only stable was 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

  • YAML validates.
  • Verified against Documentation update #15288's diff: the 255 stable files are -Last updated on Jul 07 / +Jul 08 only (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.
  • Full behavioural confirmation on the next scheduled deploy run.

✅ Checklist

  • I have built the documentation locally and reviewed the output — N/A, CI-only change
  • Screenshots are included for visual changes — N/A
  • I have not moved or renamed pages (or added a redirect if I did)
  • I have run codespell or similar and addressed any spelling issues

This change was AI-assisted (drafted with Claude Code); the author reviewed and owns it.

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>
@github-actions github-actions Bot added the github_actions Pull requests that update GitHub Actions code label Jul 8, 2026
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

📖 Documentation Preview

🔍 Open preview →

No RST documentation pages changed in this PR.

Last updated: Wed, 08 Jul 2026 07:06:37 GMT

@skjnldsv skjnldsv merged commit ecae265 into master Jul 8, 2026
25 checks passed
@skjnldsv skjnldsv deleted the fix/deploy-prune-stable-noindex branch July 8, 2026 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant