morningman opened a new pull request, #4351: URL: https://github.com/apache/doris-website/pull/4351
Complete multilingual publications duplicate images, fonts and PDFs across locales and emit thousands of small legacy redirect pages. This adds an optimized publishing command that shares resources and keeps the existing document URLs and content. Cron and manual deployment now use `yarn build:publish`. The bundler generates root asset URLs and content-addressed binary filenames before hashing, while search workers retain same-origin loading and language-specific indexes. Assembly rejects conflicting asset filenames and verifies resources before replacing the previous output. Static binary aliases use non-cacheable HTTP 302 redirects, so subsequent image updates can change their content hash. Exact Docusaurus redirect templates become HTTP 301 rules with query and fragment forwarding. Large alias families use guarded prefix rules; binary alias tables live in their resource directories. Shared SVG logo artwork and content-addressed blocking head scripts reduce repeated HTML while retaining logo geometry and before-paint theme initialization. Normal development builds keep their existing layout. Historical OSS objects remain available for cached clients. ## Validation Measured local **Dev-only, English/Chinese/Japanese** artifact: | Metric | Before optimization | After optimization | | --- | ---: | ---: | | Raw artifact bytes | 3,459,794,290 | 1,494,368,877 | | Files | 37,512 | 15,150 | This reduces raw bytes by **56.8%** and files by **59.6%** in that scope. It preserves 20,316 compatibility aliases and validates 47,477 compiled resource references. The Dev artifact has 34 root rewrite rules; binary rules are scoped to static directories. - 33 publication/build/configuration regression tests passed, including real Apache coverage for Unicode, query/fragment handling, extension aliases, real routes with HTML suffixes, asset updates, and atomic failure behavior. - 129 i18n regression tests passed. - Real three-language Rspack and Webpack fixtures passed HTTP, Apache, lazy-chunk, resource and search-worker browser checks. - Three-language Dev build passed with separate sequential processes, a 4 GiB JS heap and SSR concurrency 2. Existing localized static verification passed for 1,810 pages. - Actual Dev browser verification passed 20 theme/viewport cases, three localized documents, Japanese search, and 41 sampled compatibility redirects, with no page or local-resource errors. As in the existing Dev PoC, preview-only aliases serve each locale's own root Dev search indexes for `/docs/dev/search-index*.json` requests. - TypeScript reports the same 177 existing diagnostics as the clean base, with no added diagnostics. Publication infrastructure changes now run the complete optimized artifact across all active versions in Build Check on CI and upload measurement reports. No deployment is performed by this PR. Hosting requirements and bounded local validation commands are documented in `scripts/publish/README.md`. ## Versions - [x] dev - [x] 4.x - [x] 3.x - [x] 2.1 or older (not covered by version/language sync gate) Applies to publication infrastructure for all active versions. Documentation content, slugs, headings and sidebars are unchanged. ## Languages - [x] Chinese - [x] English - [x] Japanese ## Docs Checklist - [x] Checked by AI - [x] Test Cases Built - [x] Updated required version and language counterparts, or explained why not - [x] If only one language changed, confirmed whether source/translation counterparts need sync Shared infrastructure applies to every enabled locale, so no translated documentation counterparts require edits. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
