The GitHub Actions job "github_actions in /. - Update #1353178735" on airflow.git/main has succeeded. Run started by GitHub user dependabot[bot] (triggered by dependabot[bot]).
Head commit for run: 82f0fe9ce099ad2f2e964a3043cce5ab21c8900d / Jarek Potiuk <[email protected]> Move helm-tests/ to chart/tests/ and merge pyproject.toml into chart's (#66371) * Move helm-tests/ to chart/tests/ and merge pyproject.toml into chart's The Helm chart Python tests previously lived as their own workspace member at `helm-tests/` with a dedicated `apache-airflow-helm-tests` package. The chart sources and tests are inseparable in practice, so this collapses them into a single `chart` workspace member: the test files move under `chart/tests/`, and `helm-tests/pyproject.toml` is merged into `chart/pyproject.toml` (which adopts the helm-tests pytest config, the `mypy` dependency-group, and the test-only deps on `apache-airflow-devel-common` and `apache-airflow-providers-cncf-kubernetes`). Names that are user/CI-visible are intentionally preserved: * `breeze testing helm-tests` — command name unchanged. * `mypy-helm-tests` — prek hook id unchanged (now lives in `chart/.pre-commit-config.yaml`, pointing at `chart/tests`). * `run-helm-tests` — selective-checks output / CI gate, unchanged. * `helm-tests.yml` — CI workflow file, unchanged. * The directory `chart/tests/helm_tests/` keeps the Python package name `helm_tests` so test imports / module paths don't shift. Path references updated everywhere they pointed at the old layout: root `pyproject.toml` (workspace members, `[tool.uv.sources]`, `apache-airflow-helm-chart = false` constraint rows, ruff per-file ignores, mypy include path, dev dependency-group); `.github/CODEOWNERS` (folded the `/helm-tests/` line into the existing `/chart/` entry — same owners); `.github/dependabot.yml` and `dev/update_github_branch_config.py`; breeze internals (`global_constants.all_helm_test_packages`, `run_tests.TEST_GROUP_TO_TEST_FOLDERS[GroupOfTests.HELM]`, `run_tests.find_pytest_arguments`, `docker_command_utils` mounts, `selective_checks` regexes); `scripts/ci/docker-compose/local.yml` and `scripts/ci/prek/run_mypy_full_dist_local_venv_or_breeze_in_ci.py` (with a `FOLDER_TO_PROJECT["chart/tests"] = "chart"` override since `chart/tests` is not its own uv project); `dev/ide_setup/setup_idea.py`; root `.pre-commit-config.yaml` exclusions; docs in `contributing-docs/testing/helm_unit_tests.rst` and `dev/breeze/doc/ci/04_selective_checks.md`; existing breeze unit tests in `dev/breeze/tests/test_*.py`. `uv.lock` regenerated. NOTE: developers running `breeze` via `uvx --from dev/breeze` may need a one-time `uv cache clean` (or `touch dev/breeze/pyproject.toml`) after pulling this commit so uvx rebuilds breeze from the current source — uvx caches by content hash and will otherwise serve a stale breeze that still references the old `helm-tests/tests/helm_tests` path. * Tighten chart/.helmignore and verify packaged chart contents in CI Locally building the chart with `breeze release-management prepare-helm-chart-package` after the helm-tests → chart/tests move revealed that the published chart `.tgz` was bundling four files that chart consumers do not need and that we did not realise had been shipping for a while: * `pyproject.toml` (workspace-member metadata for the chart's pytest / mypy config — irrelevant to consumers) * `.pre-commit-config.yaml` (local dev/CI hook config) * `docs/` (chart documentation source — rendered to airflow.apache.org/docs/helm-chart/, not needed inside the .tgz) * `newsfragments/` (towncrier source for building RELEASE_NOTES.rst at release time) Add all four to `chart/.helmignore` so they are no longer bundled. To make sure this doesn't drift again, add a small verification script `scripts/ci/verify_helm_chart_package.py` that: * Reads the packaged `.tgz` and asserts the top-level entries match an explicit allowlist (Chart.yaml, values.yaml, templates/, etc.). Any newly-introduced top-level file fails the check until it is either added to the allowlist (chart-relevant) or to `.helmignore` (dev-only). * Runs `helm lint` against the same `.tgz`. Wire the script into the existing `tests-helm-release` job in `.github/workflows/helm-tests.yml`, right after `prepare-helm-chart-package` produces the artifact and before signing, so a regression in the packaged set fails CI immediately. The script is also runnable locally: uv run scripts/ci/verify_helm_chart_package.py dist/airflow-1.22.0.tgz * Move missed otel_collector helm tests and ignore kustomize-overlays Fixes two regressions caught by CI after the rebase: * `helm-tests/tests/helm_tests/otel_collector/` was added on main after the original move commit was authored, so the rebase didn't pick it up. Move it to `chart/tests/helm_tests/otel_collector/` so the helm-tests tree is fully consolidated under chart/ as intended, and ruff / helm-tests no longer trip over the orphaned directory. * The packaged-chart verification script flagged `kustomize-overlays/` as an unexpected top-level entry. The directory's own README states it is "not distributed with chart releases" — add it to `chart/.helmignore` so the .tgz matches that documented intent. Refresh the breeze helm-tests command-help SVG/txt picked up by the auto-fixer prek hook (now that breeze sees `otel_collector` as a valid sub-package under `chart/tests/helm_tests/`). Report URL: https://github.com/apache/airflow/actions/runs/25492432588 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
