Align Python CI support checks with declared 3.10–3.12 range - #2037
groupthinking with Copilot wants to merge 2 commits into
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Repository: groupthinking/EventRelay/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-authored-by: groupthinking <154503486+groupthinking@users.noreply.github.com>
🔍 PR Validation |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The new test unnecessarily hard-codes incidental uv resolution-marker partitions, causing valid lockfile updates to fail governance.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 1
What changed in this PR
Aligns Python support metadata and CI governance around Python 3.10–3.12.
Changes:
- Removes the obsolete Python 3.9 classifier.
- Adds regression checks for CI, package, and lockfile metadata.
- Updates a stale test comment.
| File | Description |
|---|---|
pyproject.toml |
Removes Python 3.9 support classifier. |
tests/unit/test_gh_aw_workflow_governance.py |
Adds support-range governance checks. |
tests/unit/test_security_fixes.py |
Updates the documented Python floor. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| markers = uv_lock["resolution-markers"] | ||
| assert any("python_full_version < '3.11'" == marker for marker in markers) | ||
| for supported_minor in ("3.11", "3.12"): | ||
| assert any(f"python_full_version == '{supported_minor}.*'" in marker for marker in markers) | ||
| assert not any("3.9" in marker for marker in markers) |
Dependency Review SummaryThe full dependency review summary was too large to display here (15344KB, limit is 1024KB). Please download the artifact named "dependency-review-summary" to view the complete report. |

Canonical issue
Handled by PR metadata.
Outcome
CI now asserts the repo’s declared Python support range end-to-end: the test matrix stays on 3.10–3.12, action pins remain immutable, and
uv.lockmetadata must stay aligned withpyproject.toml.Scope
ci.ymlPython matrix =3.10,3.11,3.12pyproject.tomlrequires-python = ">=3.10"uv.lockrequires-pythonand resolution markers consistent with that rangeProgramming Language :: Python :: 3.9classifier frompyproject.toml>=3.9floorRisk
Verification
Exact checks run on the current head:
python -m pytest tests/unit/test_gh_aw_workflow_governance.py -k "ci_python_matrix_matches_declared_support_and_lock_metadata" -v --no-covpython -m pytest tests/unit/test_gh_aw_workflow_governance.py tests/unit/test_dependabot_automation_workflow.py -k "ci_runs_supported_python_matrix_with_immutable_actions or ci_python_matrix_matches_declared_support_and_lock_metadata or REQUIRED_CHECKS or required_checks or merge_gate" -v --no-covpython -m pytest tests/unit/test_gh_aw_workflow_governance.py -v --no-covFocused tests
Required CI
Review threads resolved
Production evidence
Not applicable. This change only tightens CI and package metadata governance.
Agent handoff
One canonical issue is linked
No competing PR implements the same issue
Acceptance criteria are satisfied
Required checks pass on the current head
Human decision is requested only for product, security, irreversible infrastructure, or production approval
Key guard added