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]