potiuk opened a new pull request, #62820: URL: https://github.com/apache/airflow/pull/62820
Vendor K8s JSON schemas locally so helm tests never need network access at runtime, add `--kubernetes-version` flag to `breeze testing helm-tests`, and run CI helm tests against both first and last K8s versions when "all versions" label is set. ## Summary - **Vendor K8s schemas**: A prek hook (`download-k8s-schemas`) discovers all rendered (apiVersion, kind) pairs via `helm template` and downloads matching standalone-strict JSON schemas from `yannh/kubernetes-json-schema` for every supported K8s version. - **`--kubernetes-version` flag**: New option on `breeze testing helm-tests` to validate helm templates against any supported K8s version (reads from `HELM_TEST_KUBERNETES_VERSION` env var). - **CI multi-version matrix**: Helm tests now run against both the default (first) and latest (last) K8s version when the "all versions" label is set, matching the same condition that triggers all Python versions. - **Single source of truth**: `global_constants.py` `ALLOWED_KUBERNETES_VERSIONS` is the canonical list — both the download script and `helm_template_generator` read versions from it via AST parsing. ## Test plan - [x] All 2116 helm tests pass with default K8s version (v1.30.13) - [x] All 2116 helm tests pass with latest K8s version (v1.35.0) - [x] 4 new selective checks tests pass covering `helm_test_kubernetes_versions` - [x] Pre-commit checks pass (ruff, ruff-format, pre-commit, manual) --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Opus 4.6 Generated-by: Claude Opus 4.6 following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) -- 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]
