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]

Reply via email to