This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git
The following commit(s) were added to refs/heads/main by this push:
new 8a8d8ddf chore: README - document the Camel CLI installer and release
manifest flow (#1839)
8a8d8ddf is described below
commit 8a8d8ddfadd729b70602fed06fd88fcf39885596
Author: Federico Mariani <[email protected]>
AuthorDate: Wed Oct 28 21:30:21 2026 +0100
chore: README - document the Camel CLI installer and release manifest flow
(#1839)
---
README.md | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/README.md b/README.md
index 57d351c3..1bc7e936 100644
--- a/README.md
+++ b/README.md
@@ -290,6 +290,37 @@ The content of the created markdown file is added to the
_New and Noteworthy_ se
Make sure that you set the `draft: false` property to have the page published.
+##### Camel CLI installers and release manifests
+
+The web installers (`static/install.sh`, `static/install.ps1`) and `camel
self-update` read the release manifests in
+`static/camel-cli/releases`:
+
+- `X.Y.Z.properties`: one per release, with the SHA-256 of the
`camel-launcher` archives. Never changed once written.
+- `latest.properties`: the newest release.
+- `X.Y.properties`: the newest patch of the `X.Y` release line.
+- `lts.properties`: the newest release of the newest LTS line.
+
+After each Camel release, once the `camel-launcher-<version>-bin` archives are
on Maven Central:
+
+1. Publish the release note first (see above): it must exist with `draft:
false`, and have `kind: lts` for a release
+ of an LTS line. The manifest script refuses a release without a published
release note, and `kind: lts` decides
+ whether `lts.properties` moves.
+2. Run the script (it needs `curl` and JDK 21+):
+
+ $ ./update-camel-cli-manifest.sh x.y.z # a patch of an older
line, such as an LTS patch
+ $ ./update-camel-cli-manifest.sh x.y.z --latest # the newest release
+
+ It copies the installers and `scripts/WebsiteManifestGenerator.java` from
apache/camel `main`, writes
+ `x.y.z.properties` and `static/install.sha256`, and moves `x.y.properties`
and, for an LTS release,
+ `lts.properties`. With `--latest` it also moves `latest.properties`;
without it, a release that would be the newest
+ is rejected before anything is written. The aliases only move forward, so a
patch of an older line leaves
+ `latest.properties` and a newer LTS line alone.
+3. Commit the changed files under `static/` and
`scripts/WebsiteManifestGenerator.java`, and open a pull request.
+
+The `camel-cli-manifests` check in CI runs `scripts/camel-cli-aliases.sh
check`, which fails when an alias does not
+match the release manifests. `scripts/camel-cli-aliases.sh rebuild`
regenerates all the aliases, for example after a
+release note changed `kind`. See the comments at the top of both scripts for
the details.
+
##### Sub-project release
Use the `release-{category}` archetype to create a new markdown content file
in `content/releases/{category}-{version with underscores}/index.md`.