Bump to Python 3.14 in CI tests (tests.yaml)#1926
Conversation
Update GitHub Actions tests workflow to set DEFAULT_PYTHON to 3.14 (was 3.13).
📝 WalkthroughWalkthroughUpdated the GitHub Actions workflow to use Python 3.14 instead of Python 3.13 as the default Python version. This change affects the interpreter version used in the Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Tip You can disable poems in the walkthrough.Disable the |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1926 +/- ##
==========================================
- Coverage 94.99% 94.94% -0.05%
==========================================
Files 12 12
Lines 2975 2946 -29
==========================================
- Hits 2826 2797 -29
Misses 149 149 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/workflows/tests.yaml (1)
12-12: Python 3.14 version bump is safe and well-supported.All pinned dependencies are confirmed compatible with Python 3.14:
- websockets 16.0: Explicitly validated for Python 3.14
- jsonschema 4.26.0: Lists Python 3.14 support on PyPI
- ocpp 2.1.0: Compatible with no blocking constraints
- Other packages (ruff, pre-commit, pytest-homeassistant-custom-component): No known 3.14 incompatibilities
Python 3.14 does introduce breaking changes (PEP 765: disallowing return/break/continue in finally blocks; deferred annotations via PEP 649), but these primarily impact libraries like SQLAlchemy and Pydantic that are not in this project's dependencies. The codebase is unlikely to be affected by these changes.
That said, testing against both Python 3.13 and 3.14 using a matrix strategy is still a reasonable best practice during the transition period to catch any unforeseen edge cases:
strategy: matrix: python-version: ["3.13", "3.14"]🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/tests.yaml at line 12, Update the CI workflow to run tests on both Python 3.13 and 3.14 instead of only bumping DEFAULT_PYTHON to "3.14"; specifically, add a job matrix keyed on python-version including "3.13" and "3.14" (or set DEFAULT_PYTHON to a matrix value) so the test job(s) reference that matrix variable; look for the DEFAULT_PYTHON declaration and the test job(s) that use it to make the matrix change and ensure the runner uses the matrix value for setup-python.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.github/workflows/tests.yaml:
- Line 12: Update the CI workflow to run tests on both Python 3.13 and 3.14
instead of only bumping DEFAULT_PYTHON to "3.14"; specifically, add a job matrix
keyed on python-version including "3.13" and "3.14" (or set DEFAULT_PYTHON to a
matrix value) so the test job(s) reference that matrix variable; look for the
DEFAULT_PYTHON declaration and the test job(s) that use it to make the matrix
change and ensure the runner uses the matrix value for setup-python.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 797968df-01b3-4272-8696-6d8b5d388329
📒 Files selected for processing (1)
.github/workflows/tests.yaml
Update GitHub Actions tests workflow to set DEFAULT_PYTHON to 3.14 (was 3.13).
Summary by CodeRabbit