Skip to content

Sync docfx.yaml from D20 canonical (inline root-redirect)#257

Merged
Chris-Wolfgang merged 3 commits into
mainfrom
protected/d8-sync-d20-workflows
Jun 6, 2026
Merged

Sync docfx.yaml from D20 canonical (inline root-redirect)#257
Chris-Wolfgang merged 3 commits into
mainfrom
protected/d8-sync-d20-workflows

Conversation

@Chris-Wolfgang

Copy link
Copy Markdown
Owner

Summary

Protected-files PR — splits the workflow change for the D8 version-picker fanout out of #256 so admin-bypass only waives one file's review-thread enforcement.

docfx.yaml: sync from D20 canonical. The root index.html generation step is rewritten to emit an inline meta-refresh → /versions/latest/ instead of templating from .github/version-picker-template.html.

Rationale

The in-page version picker (the public/version-picker.js + _appFooter script injection landing in #256) handles version switching from every docs page. The root no longer needs its own picker UI — a meta-refresh + JS fallback + <noscript> link is sufficient.

Pure sync from D20 (Chris-Wolfgang/D20-Dice@main:.github/workflows/docfx.yaml) — no repo-specific values; the workflow reads the repo name from $env:GITHUB_REPOSITORY at runtime.

Diff shape

.github/workflows/docfx.yaml | +136 / −32 lines (the inline HTML generation block + comments explaining why inline beats template-file).

No other files touched.

Test plan

  • No repo-specific strings (D20-Dice / Wolfgang.D20 / etc.) leaked from D20
  • Byte-equivalent to D20 canonical
  • CI: Detect .NET Projects ❌ (expected — protected-file guard fires), other checks pass
  • Admin-bypass merge after maintainer review

Follow-up

  1. Merge this PR (admin-bypass).
  2. Update Add D8 documentation version picker (canonical sync from D20-Dice) #256 to delete .github/version-picker-template.html — no remaining live references in docfx.yaml after this merges; build-all-versions.yaml retains the dead reference (same state as D20 / DateTime-Extensions / ICollection-Extensions — fleet-wide cleanup item, not in scope here).
  3. Merge Add D8 documentation version picker (canonical sync from D20-Dice) #256.
  4. Next gh-pages deploy lights up the dropdown.

🤖 Generated with Claude Code

The root index.html for gh-pages is now generated inline in the
workflow as a meta-refresh → /versions/latest/ instead of being
templated from .github/version-picker-template.html.

Rationale (from D20's canonical comment): the in-page version picker
(docfx_project/public/version-picker.js) handles version switching
from any docs page now, so the root no longer needs to display a
picker UI — a meta-refresh + JS fallback + <noscript> link is all
that's needed. Inline beats template-file because the only dynamic
piece is the page title.

This is a sync-from-D20 only: byte-equivalent to D20's
.github/workflows/docfx.yaml. Workflow is repo-agnostic — no
hardcoded D20 references.

`Detect .NET Projects` will fire on this PR. Admin-bypass merge.

After merge, PR #256 will be updated to delete the now-unused
.github/version-picker-template.html.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced Jun 6, 2026
Chris-Wolfgang and others added 2 commits June 6, 2026 18:48
This commit's parent (docfx.yaml D20-canonical sync) drops the only
live reference to this file in docfx.yaml — the root index.html is
now generated inline as a meta-refresh redirect instead of templated
from this file.

build-all-versions.yaml retains a reference (manual-rebuild path) —
matches the rest of the fleet's canonical state; out of scope for
this PR.

Atomic with the docfx.yaml change so there is no deploy window
where the workflow references a deleted file.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Chris-Wolfgang Chris-Wolfgang merged commit e03061f into main Jun 6, 2026
4 checks passed
@Chris-Wolfgang Chris-Wolfgang deleted the protected/d8-sync-d20-workflows branch June 6, 2026 23:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant