ci: bump Python to 3.14 so CI tests against current HA - #16
Merged
Merged
Conversation
HA 2026.3+ requires Python >=3.14.2. On 3.13, pip silently caps the homeassistant install at 2026.2.x, so CI and release validation were testing against a months-old core while production runs 2026.6.x. Bump both workflows to 3.14 to track the Python the current HA runs under. Verified locally: full suite (131 tests) passes on HA 2026.6.3. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CI and the release workflow pinned Python 3.13. HA 2026.3+ requires Python ≥ 3.14.2, so on 3.13 pip silently skips every newer release and caps the
homeassistantinstall at 2026.2.x — months behind the 2026.6.x that production actually runs. CI was therefore green against a stale core.This bumps both
ci.ymlandrelease.ymlto Python 3.14, with an inline comment recording why so the pin isn't "tidied" back down later.How it surfaced
Re-running the test suite locally against the just-merged recorder change (#15), the venv resolved HA to 2026.2.3 despite the calendar being June. Tracing it: not the index, not the supply-chain age filter — the
Requires-Python >=3.14.2marker on HA 2026.3+ was excluding them on a 3.13 interpreter.Verification
Rebuilt the local venv on Python 3.14.5 and reinstalled from
requirements_test.txt+home-assistant-frontend:homeassistant==2026.6.3(matches production) andpytest-homeassistant-custom-component==0.13.339unrecorded_attributestests from feat(injector): exclude smart_icons attrs from recorder persistence #15, which confirms thatStateInfo/ thestate_info=kwarg onasync_setis still valid on current HA, not just 2026.2.3🤖 Generated with Claude Code