[Feature](website) Retire the deprecated /learning, /archive-docs and /vendors pages - #4040
Merged
Conversation
… /vendors pages These three standalone pages have no inbound link anywhere on the site: /learning lost its footer entry in apache#1461, while /archive-docs and /vendors lost theirs in the new-homepage refactor (apache#3660). Their content has also gone stale — /learning links to pre-4.x doc slugs that no longer exist, and /archive-docs still calls 3.0 the "latest version". - /learning: page removed, redirects to /course (Doris 101 is now the entry point for newcomers). Its 10 exclusive sitemap icons are removed too. - /archive-docs: page removed, along with its exclusive pdf.svg, the unused ARCHIVE_PATH constant and 17 orphaned archive.* zh-CN translation keys. The v2.0 PDF it linked stays reachable from the download page. - /vendors: source parked at src/pages/_vendors (underscore = not routed) so the content is preserved, and the route redirects to the homepage. plugin-client-redirects drops any redirect that would override a live route, so the page has to leave the route table for the redirect to apply. - src/pages/_download: removed. Underscore-prefixed, so it was never built. createRedirects() previously normalized the site root to an empty string, which meant no redirect could ever target the homepage; it now keeps '/'. Verified with a production-shaped `--locale en --locale zh-CN` build: /learning -> /course/, /zh-CN/learning -> /zh-CN/course/, /vendors -> /, /zh-CN/vendors -> /zh-CN/, and no remaining route or broken link references any of the removed pages. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The detect step had only two outcomes — a specific version set, or every version — so any touch of src/ or static/ jumped straight to the most expensive build. Combined with i18n/**/code.json forcing both locales, a website-only PR paid for 4 doc versions x 2 locales (~11k pages). That is the build that starved the runner and got it killed mid-step on apache#4040. Split the decision into three independent questions: - TIER (skip / build / full): only versions.json and config/versions-plugin.js — the files that define which versions exist — earn a full build. Site code compiles identically for every version, so one probe version catches the same errors at a quarter of the cost. - VERSIONS: unchanged, still intersected with the active set. - LOCALES: derived from which locale's *content* changed, so an en-only doc change no longer drags zh-CN along, and vice versa. Also: - static/** no longer widens the scope. It is copied verbatim and never reaches the bundler, so a build can neither validate it nor be broken by it. - i18n/**/*.json translation tables are syntax-checked with jq instead of pulling in a whole zh-CN site build. A stale or missing key only warns (Docusaurus falls back to the source string); malformed JSON is the sole build-breaking failure mode. - sidebarsCommunity.json / sidebarsReleases.json no longer force a full build; their plugins are not version-scoped. - Unclassified paths fall back to a minimal build instead of being skipped. - Removed the dead NEED_BUILD variable. - New skip_build output. The Build step still installs dependencies, since the governance steps need node_modules, and skips only the site build itself. Verified by extracting the step and running it under `bash -e` against 29 fixtures, including the real file lists from apache#4040 and apache#4038, paired en/zh doc edits, retired version dirs, a versions.json bump, and an empty diff. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
What
Three standalone pages have no inbound link anywhere on the site.
/learninglost its footer entry back in #1461;/archive-docsand/vendorslost theirs in the new-homepage refactor (#3660). Their content has gone stale as well —/learninglinks to pre-4.x doc slugs that no longer exist, and/archive-docsstill calls 3.0 the "latest version"./learning/course/archive-docs/vendors/Details:
/learning— removed along with its 10 exclusive sitemap icons. Doris 101 is now the entry point for newcomers./archive-docs— removed, together with its exclusivepdf.svg, the unusedARCHIVE_PATHconstant and 17 orphanedarchive.*zh-CN translation keys. The v2.0 PDF it linked stays reachable from the download page./vendors— source parked atsrc/pages/_vendors(underscore = not routed) so the content is preserved, while the route redirects to the homepage.plugin-client-redirectsdrops any redirect that would override a live route, so the page has to leave the route table for the redirect to apply.src/pages/_download— removed. Underscore-prefixed, so it was never built; it was the last importer ofsrc/components/Moreandsrc/components/PageColumn, which are now unreferenced (left in place for a follow-up).createRedirects()previously normalized the site root to an empty string, which meant no redirect could ever target the homepage. It now keeps/.Testing
Production-shaped build (
--locale en --locale zh-CN):/learning/course//zh-CN/course//vendors//zh-CN//archive-docs,/_vendorsand/_downloadproduce no route;/,/course,/download,/events,/why-doris/usersand/profile-analysisall still build. No remaining route or broken-link warning references any of the removed pages.Versions
Languages
Docs Checklist
🤖 Generated with Claude Code