Skip to content

Bump to Python 3.14 in CI tests (tests.yaml)#1926

Merged
drc38 merged 1 commit intolbbrhzn:mainfrom
ric866:Bump-test.yaml-to-Python-3.14
Mar 22, 2026
Merged

Bump to Python 3.14 in CI tests (tests.yaml)#1926
drc38 merged 1 commit intolbbrhzn:mainfrom
ric866:Bump-test.yaml-to-Python-3.14

Conversation

@ric866
Copy link
Contributor

@ric866 ric866 commented Mar 22, 2026

Update GitHub Actions tests workflow to set DEFAULT_PYTHON to 3.14 (was 3.13).

Summary by CodeRabbit

  • Chores
    • Updated Python version used in the continuous integration pipeline from 3.13 to 3.14.

Update GitHub Actions tests workflow to set DEFAULT_PYTHON to 3.14 (was 3.13).
@ric866 ric866 temporarily deployed to continuous-integration March 22, 2026 15:33 — with GitHub Actions Inactive
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 22, 2026

📝 Walkthrough

Walkthrough

Updated 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 pre-commit and tests jobs during CI/CD execution.

Changes

Cohort / File(s) Summary
Python Version Update
.github/workflows/tests.yaml
Updated DEFAULT_PYTHON environment variable from "3.13" to "3.14", affecting the Python interpreter version used across CI/CD pipeline jobs.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 A version bumps from thirteen's past,
To fourteen now, fresh and fast!
The workflows dance with Python bright,
CI/CD spinning smooth and right! 🚀

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: updating the Python version from 3.13 to 3.14 in the GitHub Actions CI workflow file (tests.yaml).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

You can disable poems in the walkthrough.

Disable the reviews.poem setting to disable the poems in the walkthrough.

@ric866 ric866 changed the title Use Python 3.14 in CI tests Bump to Python 3.14 in CI tests (tests.yaml) Mar 22, 2026
@ric866 ric866 marked this pull request as ready for review March 22, 2026 15:37
@codecov
Copy link

codecov bot commented Mar 22, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.94%. Comparing base (7ceb78f) to head (f4a8286).
⚠️ Report is 1 commits behind head on main.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 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

📥 Commits

Reviewing files that changed from the base of the PR and between 7ceb78f and f4a8286.

📒 Files selected for processing (1)
  • .github/workflows/tests.yaml

@drc38 drc38 merged commit a3af550 into lbbrhzn:main Mar 22, 2026
8 of 9 checks passed
@ric866 ric866 deleted the Bump-test.yaml-to-Python-3.14 branch March 23, 2026 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants