spuru9 opened a new pull request, #1162:
URL: https://github.com/apache/flink-kubernetes-operator/pull/1162

   ## What is the purpose of the change
   
   Helm 4 is GA (4.1.1) and Helm 3 reaches end-of-life in November 2026, but 
the operator's Helm CI and end-to-end tests currently run only on Helm 3. This 
change makes the chart and its CI/e2e work on both Helm 3 and Helm 4 so the 
chart is verified on the current Helm line.
   
   Two concrete breakages under Helm 4 were found and fixed:
   - `helm lint --strict` fails on the chart's non-semver `version: 
1.16-SNAPSHOT` (`not a valid SemVerV2`). Helm 3 accepted it silently.
   - The pinned `helm-unittest 0.8.1` plugin install fails on Helm 4 (`plugin 
source does not support verification`).
   
   ## Brief change log
   
   - **`Chart.yaml`**: chart `version` → `1.16.0-SNAPSHOT` (valid SemVerV2). 
`appVersion` stays `1.16-SNAPSHOT` to match the operator artifact.
   - **`ci.yml`**: `helm_lint_test` runs as a matrix over Helm `v3.17.3` and 
`v4.1.1`; helm-unittest bumped to `v1.1.1`, with `--verify=false` passed only 
on Helm 4 (the flag does not exist on Helm 3). Added a `Smoke test (Helm 4)` 
e2e leg.
   - **`e2e.yaml`**: new `helm-version` input (default `v3.17.3`) and an 
explicit Helm setup step, so the install/uninstall lifecycle runs on a chosen 
Helm version.
   
   ## Verifying this change
   
   Verified locally against **Helm 4.1.1** (and re-checked on Helm 3):
   - `helm lint --strict`: passes on Helm 4 with the semver fix (failed before 
with `not a valid SemVerV2`).
   - `helm unittest` (helm-unittest v1.1.1): all 62 tests / 14 suites pass on 
both Helm 3 and Helm 4.
   - `ct lint` (chart-testing 3.14.0): passes with Helm 4 on PATH.
   - **Live minikube (k8s v1.28.0)**: built the operator image, installed 
cert-manager, `helm install` the chart with the **Helm 4** binary → operator 
Deployment reaches `Available` (`2/2 Running`). The Helm-4-installed operator 
reconciled `flinkdep-cr.yaml`, ran the StateMachine job to `RUNNING` with 
completed checkpoints (`JmDeploymentStatus.READY.Count: 1`, 
`Lifecycle.State.FAILED.Count: 0`), and `helm uninstall` on Helm 4 is clean.
   
   The new `Smoke test (Helm 4)` CI leg exercises the full 
`test_application_operations.sh` on the Linux runners.
   
   ## Note for reviewers
   
   The chart `version` is normally set to the Maven project version 
(`1.16-SNAPSHOT`) by `tools/releasing/update_branch_version.sh`. Release 
versions (e.g. `1.16.0`) are valid SemVer; only the dev `-SNAPSHOT` version 
lacked a patch digit. This PR fixes the chart's dev version to valid SemVer; a 
future dev-version bump should keep the `.MAJOR.MINOR.0-SNAPSHOT` form (or the 
release tooling can normalize it). Happy to instead drop `--strict` on the Helm 
4 lint leg if maintainers prefer keeping the chart version identical to the 
Maven version.
   
   ## Does this pull request potentially affect one of the following parts:
   
   - Dependencies (does it add or upgrade a dependency): **no** (CI-only 
tooling versions)
   - The public API: **no**
   - Core observer or reconciler logic: **no**
   
   ## Documentation
   
   - [x] The change has been disclosed as AI-assisted. Generated-by: Claude 
Code (claude-opus-4-8)
   


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