Skip to content

Conversation

@pierluigilenoci
Copy link

What this PR does / why we need it:

This PR addresses the Python 3.14 incompatibility issue reported by users running Chart Testing (ct) on self-hosted GitHub Actions runners with Python 3.14 installed.

When running ct on systems with Python 3.14, schema validation fails with errors like AttributeError: module 'ast' has no attribute 'Num'. This occurs because:

  • Chart Testing bundles Yamale 6.0.0 for YAML schema validation
  • Yamale 6.0.0 was released on January 2, 2025, before Python 3.14 became widely available
  • Yamale 6.0.0 uses deprecated Python AST features that were removed in Python 3.14
  • When ct or system Python runs with Python 3.14, Yamale fails immediately

The PR provides:

  1. Updated Documentation: README and Dockerfile comments clarifying Python version support

Changes Made:

  • Dockerfile: Added comments documenting Yamale 6.0.0's Python version support and Python 3.14 requirements
  • README.md: Added "Python Version Compatibility" and updated "Troubleshooting" sections

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): #786

This addresses issues where users report schema validation failures with Python 3.14 on self-hosted GitHub Actions runners.

Special notes for your reviewer:

  • No breaking changes: This PR only comments, and maintains the current Yamale version (6.0.0)
  • No code changes: All updates are documentation-focused; no functionality changes
  • Backward compatible: Existing workflows continue to work as before

Signed-off-by: Pierluigi Lenoci <pierluigi.lenoci@gmail.com>
@pierluigilenoci
Copy link
Author

@cpanato please take a look

@pierluigilenoci pierluigilenoci changed the title chore(deps): update yamale to v6.0.0 chore(deps): workaround for Python 3.14 incompatibility Nov 19, 2025
@pierluigilenoci pierluigilenoci changed the title chore(deps): workaround for Python 3.14 incompatibility chore(docs): workaround for Python 3.14 incompatibility Nov 19, 2025
@pierluigilenoci
Copy link
Author

@pierluigilenoci
Copy link
Author

FYI oauth2-proxy/manifests#371

README.md Outdated

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.**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where this is defined?

Removed reference to PYTHON-3.14-COMPATIBILITY.md in README.

Signed-off-by: Pierluigi Lenoci <pierluigi.lenoci@sap.com>
@pull-request-size pull-request-size bot added size/S and removed size/M labels Nov 21, 2025
@pierluigilenoci pierluigilenoci deleted the upgrade_yamala branch November 21, 2025 22:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants