ammachado opened a new pull request, #25030:
URL: https://github.com/apache/camel/pull/25030

   # Description
   
   Adds CI that validates the Camel CLI launcher distribution the way real 
package managers consume it, plus the installer/manifest hardening that 
validation depends on.
   
   **CI workflow** (`.github/workflows/package-native-validation.yml`)
   - Builds the launcher distribution and validates it on macOS + Linux (POSIX 
validators) and Windows (installer unit tests), triggered on changes under 
`dsl/camel-jbang/camel-launcher/**` and `tooling/camel-exe/**`.
   - Stages a synthetic (non-`SNAPSHOT`) release version offline so 
`camel-package.sh prepare` runs without publishing anything, then runs the 
validators host-gated.
   
   **POSIX validators** (`src/jreleaser/bin/camel-validate.sh` + 
`lib/assert-camel-cli.sh`)
   - A dispatcher that validates the local archive directly, plus host-gated 
Homebrew (audit `--strict` + install/version/init/uninstall via a throwaway 
local tap, with an offline `file://` formula rewrite in test mode) and SDKMAN 
(descriptor + archive-structure checks) legs. Any genuine failure exits 
nonzero; absent package managers `SKIP`.
   
   **Installer + manifest hardening**
   - `install.sh` / `install.ps1` tolerate `#`/`##` comment lines in the 
release manifest (so the manifest can carry an ASF license header) while still 
rejecting blank lines and enforcing the four required keys.
   - `install.sh` surfaces `wget`/`tar` errors instead of silencing them 
(`-nv`, captured stderr).
   - `WebsiteManifestGenerator` prepends an ASF license header to generated 
manifests; its strict re-parser and both installers skip the comment lines.
   
   **Docs**: new "Installing the Camel CLI Launcher" guide, plus nav / 
launcher-page / upgrade-guide updates.
   
   **Tests**: `PackageNativeValidationTest` (host-gated orchestration of the 
validators and assertion library), installer license-header tolerance tests, 
manifest generator tests, and an `expected-init-route.txt` fixture.
   
   ### Verification
   - `dsl/camel-jbang/camel-launcher` unit suite: 170 run, 0 failures (35 
OS-gated skips).
   - Native-exe IT (`CamelLauncherNativeExeIT`): 4/4 pass with the pinned 
llvm-mingw `20260616` toolchain (`-Dcamel.exe.build=true`).
   - `camel-package.sh prepare` reproduced offline end to end: it now exits 0 
and generates the Homebrew formula the validator consumes.
   
   # Target
   
   - [x] I checked that the commit is targeting the correct branch (Camel 4 
uses the `main` branch)
   
   # Tracking
   - [x] If this is a large change, bug fix, or code improvement, I checked 
there is a [JIRA issue](https://issues.apache.org/jira/browse/CAMEL) filed for 
the change (usually before you start working on it). — 
[CAMEL-23703](https://issues.apache.org/jira/browse/CAMEL-23703)
   
   # Apache Camel coding standards and style
   
   - [x] I checked that each commit in the pull request has a meaningful 
subject line and body.
   
   - [ ] I have run `mvn clean install -DskipTests` locally from root folder 
and I have committed all auto-generated changes.
   
     <sub>Formatting/import-sort ran clean via the repo pre-push hook and the 
launcher module builds and tests pass; a full-root `mvn clean install 
-DskipTests` has not been re-run for this push.</sub>
   
   # AI-assisted contributions
   
   - [x] If this PR includes AI-generated code, commits have proper 
co-authorship attribution (e.g., `Co-authored-by` trailers) and the PR 
description identifies the AI tool used.
   
     <sub>The two most recent commits (WinGet stand-in staging in the 
validation workflow, and collapsing a single-use assertion helper) were 
AI-assisted with Claude Code (Opus 4.8) and carry `Co-Authored-By` trailers. 
_Claude Code on behalf of ammachado._</sub>
   


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