Skip to content

chore(docs): remove vitepress site in favor of fern docs#893

Merged
mchmarny merged 5 commits into
mainfrom
chore/remove-vitepress-site
May 14, 2026
Merged

chore(docs): remove vitepress site in favor of fern docs#893
mchmarny merged 5 commits into
mainfrom
chore/remove-vitepress-site

Conversation

@mchmarny

Copy link
Copy Markdown
Member

Summary

Fern now serves the canonical docs site. This removes the legacy VitePress site at /site/ and every piece of infrastructure that supported it.

Motivation / Context

Two doc pipelines were running in parallel (VitePress at /site/ and Fern at /fern/). Fern is the published site, so the VitePress half is dead weight: it adds an unused build (gh-pages.yaml), a doc-sync tool, a sidebar-consistency checker wired into make lint, an on-tag deploy job, and an npm Renovate manager — all of which produce noise without serving any docs traffic.

Fixes: N/A
Related: N/A

Type of Change

  • Refactoring (no functional changes)
  • Build/CI/tooling

Component(s) Affected

  • Docs/examples (docs/, examples/)
  • Other: CI workflows, Makefile, Renovate config, agent guidance

Implementation Notes

Deleted

  • /site/ — the VitePress source tree
  • .github/workflows/gh-pages.yaml — VitePress build + Pages deploy
  • .github/actions/build-versioned-site/ — composite action used only by gh-pages.yaml
  • tools/sync-site-docsdocs/site/docs/ mirror (predev/prebuild hook)
  • tools/check-docs-sidebarsite/.vitepress/config.ts sidebar validator

Edited

  • Makefile — drop check-docs-sidebar from lint: deps; delete site-serve/site-build/site-clean/check-docs-sidebar targets; drop site/* license-check ignores
  • .github/workflows/on-tag.yaml — drop site: job (Pages dispatch on stable tags) plus its references in summary.needs and the Release Summary table
  • .github/workflows/on-push.yaml, .github/workflows/merge-gate.yaml — remove site/** from path filters
  • .gitignore — drop VitePress cache/dist/node_modules/synced-docs entries
  • .github/renovate.json5 — drop npm manager from auto-merge and the docs PR group; rewrite docs_tools comment
  • .github/RENOVATE.md — drop site/package.json row from coverage table and the docs-site mention from the intro
  • AGENTS.md, .claude/CLAUDE.md — drop site-docs mirror reference from enum-audit guidance (CI-enforced sync)

Manual GitHub repo settings to follow up (out of repo scope)

  1. Settings → Pages: change source away from the gh-pages artifact (or disable Pages).
  2. Settings → Environments → github-pages: delete; nothing else uses it.
  3. Settings → Branch protection / Rulesets: remove gh-pages from required status checks if listed.
  4. Repository "About" sidebar website URL: swap to the Fern URL or clear.

Testing

make qualify

Result: Codebase qualification completed — all phases passed (test-coverage, lint, e2e, scan, license-check).

Risk Assessment

  • Low — Removes a dead pipeline; Fern is the published site. Easy to revert via git revert.

Rollout notes: No migration needed — readers already land on the Fern site. After merge, perform the four manual repo-settings steps listed above.

Checklist

  • Tests pass locally (make test with -race)
  • Linter passes (make lint)
  • I did not skip/disable tests to make CI green
  • I added/updated tests for new functionality — N/A (deletion-only)
  • I updated docs if user-facing behavior changed — Fern docs unaffected; Renovate doc updated
  • Changes follow existing patterns in the codebase
  • Commits are cryptographically signed (git commit -S)

Fern is now serving the canonical docs. Removes the legacy VitePress
site at /site/ and all related infrastructure: gh-pages workflow,
build-versioned-site composite action, sync-site-docs and
check-docs-sidebar tools, and the make site-* targets. Drops the
on-tag site deploy job, npm Renovate manager wiring, and the
make-lint check-docs-sidebar gate.
@coderabbitai

coderabbitai Bot commented May 14, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 8159094b-2f4b-4e29-af52-270174910e39

📥 Commits

Reviewing files that changed from the base of the PR and between b4e53b6 and 2a4a156.

📒 Files selected for processing (2)
  • .github/RENOVATE.md
  • .github/renovate.json5

📝 Walkthrough

Walkthrough

This pull request narrows Renovate’s auto-merge scope to gomod-only, removes npm-based docs grouping rules from Renovate config, and updates the Renovate documentation to remove references to the docs site’s package.json and to mark GitHub Actions/workflow paths as not handled by Renovate.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

area/ci, area/docs, size/M

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: removing the VitePress site in favor of Fern docs, which is the primary objective of this changeset.
Description check ✅ Passed The description is comprehensively related to the changeset, detailing the motivation for removing VitePress, listing all deleted and edited files, and providing testing/risk assessment.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/remove-vitepress-site

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/renovate.json5:
- Around line 137-145: The header comment above the Renovate rule is misleading
because it mentions “workflow digests” while the rule only targets Go modules
(matchManagers: ["gomod"]) and update types ["patch","pin","digest"]; update the
comment to accurately reflect the rule scope (e.g., mention Go module
patches/pins/digests or remove reference to workflow digests) so the header
aligns with the rule that sets minimumReleaseAge: "7 days" for gomod; adjust the
comment text immediately above the block containing matchUpdateTypes and
matchManagers accordingly.

In @.github/RENOVATE.md:
- Line 8: The intro currently claims self-hosted Renovate updates GitHub
Actions; update the sentence in RENOVATE.md (the line describing Renovate
coverage) to reflect that GitHub Actions updates are disabled in this repo and
are handled by Dependabot instead, and adjust the Coverage table row for "GitHub
Actions" to indicate "disabled / managed by Dependabot" (or similar), ensuring
the note about .settings.yaml and the custom regex manager remains unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 6b19ddba-9501-4453-a9b8-1093719d78b9

📥 Commits

Reviewing files that changed from the base of the PR and between dc55455 and b4e53b6.

⛔ Files ignored due to path filters (3)
  • site/package-lock.json is excluded by !**/package-lock.json
  • site/public/images/aicr-end-to-end.png is excluded by !**/*.png
  • site/static/images/aicr-end-to-end.png is excluded by !**/*.png
📒 Files selected for processing (30)
  • .claude/CLAUDE.md
  • .github/RENOVATE.md
  • .github/actions/build-versioned-site/action.yml
  • .github/renovate.json5
  • .github/workflows/gh-pages.yaml
  • .github/workflows/merge-gate.yaml
  • .github/workflows/on-push.yaml
  • .github/workflows/on-tag.yaml
  • .gitignore
  • AGENTS.md
  • Makefile
  • site/.vitepress/config.ts
  • site/.vitepress/theme/Landing.vue
  • site/.vitepress/theme/custom.css
  • site/.vitepress/theme/index.ts
  • site/docs/getting-started/index.md
  • site/docs/index.md
  • site/docs/project/changelog.md
  • site/docs/project/code-of-conduct.md
  • site/docs/project/contributing.md
  • site/docs/project/development.md
  • site/docs/project/index.md
  • site/docs/project/maintainers.md
  • site/docs/project/releasing.md
  • site/docs/project/roadmap.md
  • site/docs/project/security.md
  • site/index.md
  • site/package.json
  • tools/check-docs-sidebar
  • tools/sync-site-docs
💤 Files with no reviewable changes (24)
  • site/docs/project/development.md
  • site/docs/getting-started/index.md
  • site/docs/index.md
  • site/docs/project/code-of-conduct.md
  • .github/workflows/on-push.yaml
  • site/docs/project/changelog.md
  • tools/sync-site-docs
  • site/docs/project/security.md
  • site/docs/project/releasing.md
  • tools/check-docs-sidebar
  • site/docs/project/roadmap.md
  • site/.vitepress/config.ts
  • site/index.md
  • .github/workflows/gh-pages.yaml
  • site/.vitepress/theme/custom.css
  • .github/actions/build-versioned-site/action.yml
  • site/docs/project/contributing.md
  • site/package.json
  • site/docs/project/index.md
  • site/.vitepress/theme/index.ts
  • .gitignore
  • site/docs/project/maintainers.md
  • .github/workflows/merge-gate.yaml
  • site/.vitepress/theme/Landing.vue

Comment thread .github/renovate.json5 Outdated
Comment thread .github/RENOVATE.md Outdated

@pdmack pdmack left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified: zero impact to docs/ and fern/ — PR only removes site/ and its supporting infrastructure. Repo homepage already points at docs.nvidia.com/aicr (Fern). CLAUDE.md/AGENTS.md correctly drop the stale site/docs/ mirror references. LGTM.

@github-actions

github-actions Bot commented May 14, 2026

Copy link
Copy Markdown
Contributor

Coverage Report ✅

Metric Value
Coverage 75.8%
Threshold 75%
Status Pass
Coverage Badge
![Coverage](https://img.shields.io/badge/coverage-75.8%25-green)

No Go source files changed in this PR.

@mchmarny mchmarny enabled auto-merge (squash) May 14, 2026 19:48
mchmarny and others added 4 commits May 14, 2026 12:48
- renovate.json5: fix auto-merge header comment to reflect gomod-only
  scope (no longer mentions workflow digests or npm).
- RENOVATE.md: clarify that GitHub Actions / composite-action digests
  are owned by Dependabot, not Renovate (the github-actions manager is
  explicitly disabled in renovate.json5).
@mchmarny mchmarny disabled auto-merge May 14, 2026 20:41
@mchmarny mchmarny merged commit dc8853d into main May 14, 2026
8 of 9 checks passed
@mchmarny mchmarny deleted the chore/remove-vitepress-site branch May 14, 2026 20:42
ArangoGutierrez added a commit to ArangoGutierrez/aicr that referenced this pull request May 15, 2026
…g note

Follow-up to PR NVIDIA#866 (Slinky slurm-operator). Backfills platform-enum
drift on surfaces the original PR did not catch, plus surfaces the
chart v1.1.0 nodeSelector silent-ignore limitation on the user-facing
component-catalog row.

PR NVIDIA#896 (yuanchen8911) already fixed docs/README.md and
docs/contributor/validations.md as part of a broader docs audit. PR
NVIDIA#893 removed the site/docs/ vitepress mirror entirely. Remaining
surfaces this PR addresses:

- docs/contributor/data.md:130 — platform row in criteria table
- docs/user/component-catalog.md:36 — slinky-slurm-operator row,
  appended **Known limitation:** clause documenting chart v1.1.0
  silent-ignore of operator.nodeSelector/webhook.nodeSelector
  (the same limitation is already inline in recipes/registry.yaml;
  this surfaces it on the rendered user catalog)
- pkg/api/doc.go:72 — REST API godoc was missing slurm entirely
- pkg/recipe/doc.go:32 — struct shape comment reordered to alphabetical
  to match GetCriteriaPlatformTypes()
- pkg/recipe/doc.go:93-98 — CriteriaPlatform* constants reordered
  alphabetical
- pkg/recipe/criteria.go:246 — Platform-field godoc updated
- .claude/skills/analyzing-snapshots/SKILL.md:278 — internal AICR
  snapshot-analysis skill criteria table

All now list 'dynamo, kubeflow, nim, slurm' alphabetically matching
pkg/recipe.GetCriteriaPlatformTypes() (the authoritative Go enum).

New guard test
==============

pkg/recipe/doc_test.go::TestCriteriaPlatformConstantsMatchGetter
asserts the CriteriaPlatform* constants and GetCriteriaPlatformTypes()
stay in sync. Mechanically catches the exact class of drift this
commit fixes if a future platform value is added to one but not the
other.

Addressed reviews
=================

@mchmarny (NVIDIA#866) — Doc-audit gap. cli-reference and api-reference were
fixed at merge time and NVIDIA#896 picked up README/validations; this PR
catches the remaining surfaces (contributor/data, the three Go godoc
files, and the internal skill table).

@coderabbitai (NVIDIA#866) — NodeSelector limitation note on the
slinky-slurm-operator catalog row.

Internal PE + QA + DA panel review on draft NVIDIA#884 — extended audit
to pkg/api/doc.go (factual miss), pkg/recipe/doc.go (ordering),
.claude/skills/analyzing-snapshots/SKILL.md, plus the guard test
in pkg/recipe/doc_test.go.

Signed-off-by: Carlos Eduardo Arango Gutierrez <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants