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]
