davsclaus opened a new issue, #1645:
URL: https://github.com/apache/camel-website/issues/1645

   The website build pipeline runs several independent tasks sequentially that 
can safely run in parallel, adding unnecessary wall-clock time to every CI 
build.
   
   ## Changes
   
   ### 1. `yarn checks` — parallel instead of sequential
   
   The three check tasks are all read-only against `public/`:
   - `check:links` (deadlinks) — scans HTML for broken internal links
   - `check:html` (html-validate) — validates HTML structure
   - `check:redirects` — spins up an httpd container and runs curl tests
   
   They have no dependencies on each other, so `run-s` → `run-p`.
   
   ### 2. `yarn build` — parallelize post-Hugo steps
   
   After Antora and Hugo complete, four post-processing tasks run. Their file 
I/O:
   
   | Task | Reads | Writes |
   |------|-------|--------|
   | `build:sitemap` | `public/sitemap.xml` | `public/sitemap.xml` |
   | `build:htaccess` | `static/.htaccess`, `documentation/.htaccess` | 
`public/.htaccess` |
   | `build:markdown` | `public/**/*.html` | `public/**/*.md`, `llms.txt`, toon 
sitemaps, RSS indexes |
   | `build:minify` | `public/**/*.html` | `public/**/*.html` (in-place) |
   
   Sitemap, htaccess, and markdown write to different file types (`.xml`, 
`.htaccess`, `.md`) — safe to parallelize.
   
   **However**, `build:minify` reads and writes `public/**/*.html` in-place, 
while `build:markdown` also reads `public/**/*.html`. Running them concurrently 
would be a race condition — markdown could read a partially-written minified 
file. So minify must run after the parallel group.
   
   Final pipeline:
   ```
   antora → hugo → (sitemap + htaccess + markdown) → minify
                    ↑ parallel ↑                      ↑ sequential ↑
   ```


-- 
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]

Reply via email to