From 2de07125b76c65368702b3f3f32e5ec20b915b2e Mon Sep 17 00:00:00 2001 From: Pierluigi Lenoci Date: Wed, 19 Nov 2025 22:12:44 +0100 Subject: [PATCH 1/2] chore(deps): update yamale to v6.0.0 Signed-off-by: Pierluigi Lenoci --- Dockerfile | 3 +++ README.md | 28 ++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/Dockerfile b/Dockerfile index 06030bcd..e29b4bf3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,6 +12,9 @@ RUN apk --no-cache add \ yamllint # Install Yamale YAML schema validator +# Note: Yamale 6.0.0 supports Python 3.8+, including Python 3.13. +# Python 3.14 compatibility requires Yamale >= 7.0.0 (when available). +# For Python 3.14 runners, ensure Yamale is updated to a version with Python 3.14 support. ARG yamale_version=6.0.0 LABEL yamale-version=$yamale_version RUN pip install --break-system-packages "yamale==$yamale_version" diff --git a/README.md b/README.md index 2209b29e..48f32ac4 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,21 @@ available tags [here](https://quay.io/repository/helmpack/chart-testing?tab=tags $ brew install chart-testing ``` +## Python Version Compatibility + +Chart Testing (`ct`) bundles Yamale for YAML schema validation. The currently bundled Yamale version (6.0.0) supports Python 3.8 through Python 3.13. + +**Python 3.14 Note**: If you are using CT on a system with Python 3.14 installed, schema validation may fail due to Yamale's use of deprecated Python AST features that were removed in Python 3.14. + +**For detailed information and solutions, see [PYTHON-3.14-COMPATIBILITY.md](PYTHON-3.14-COMPATIBILITY.md)** + +**Quick Workaround**: When Python 3.14 is detected on your system: +1. **Use the Docker image** (recommended): `docker run quay.io/helmpack/chart-testing:latest ct lint` +2. **Use Python 3.13 or earlier** on your system or CI/CD pipeline +3. **Disable schema validation** temporarily: `ct lint --validate-chart-schema=false` (not recommended) + +Future versions of CT will include updated Yamale versions with Python 3.14 support. + ## Usage See documentation for individual commands: @@ -184,6 +199,19 @@ Build ct using Goreleaser. If this flag is not specified, Goreleaser is run with --snapshot ``` +## Troubleshooting + +### Schema Validation Fails with Python 3.14 + +If you encounter `AttributeError: module 'ast' has no attribute 'Num'` or similar errors during schema validation when running CT on a system with Python 3.14, this is a known compatibility issue. + +**See [PYTHON-3.14-COMPATIBILITY.md](PYTHON-3.14-COMPATIBILITY.md) for detailed information and solutions.** + +Quick solutions: +- Use the Docker image: `docker run quay.io/helmpack/chart-testing ct lint` +- Use Python 3.13 or earlier +- Upgrade to a future CT release with Python 3.14 support + ## Releasing ### Prepare Release From 5331e4ab346986dd00cc70092cff6df4de3627a8 Mon Sep 17 00:00:00 2001 From: Pierluigi Lenoci Date: Fri, 21 Nov 2025 23:34:25 +0100 Subject: [PATCH 2/2] Update README to remove compatibility document reference Removed reference to PYTHON-3.14-COMPATIBILITY.md in README. Signed-off-by: Pierluigi Lenoci --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 48f32ac4..7a26bc7d 100644 --- a/README.md +++ b/README.md @@ -205,8 +205,6 @@ Build ct using Goreleaser. If you encounter `AttributeError: module 'ast' has no attribute 'Num'` or similar errors during schema validation when running CT on a system with Python 3.14, this is a known compatibility issue. -**See [PYTHON-3.14-COMPATIBILITY.md](PYTHON-3.14-COMPATIBILITY.md) for detailed information and solutions.** - Quick solutions: - Use the Docker image: `docker run quay.io/helmpack/chart-testing ct lint` - Use Python 3.13 or earlier