Skip to content

test: add Python 3.15 to the CI test matrix - #291

Merged
shenxianpeng merged 2 commits into
cpp-linter:mainfrom
wufangyong973:feat/python-3.15-support
Oct 12, 2026
Merged

shenxianpeng merged 2 commits into
cpp-linter:mainfrom
wufangyong973:feat/python-3.15-support

Conversation

@wufangyong973

@wufangyong973 wufangyong973 commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Wires the newest CPython into the project (issue #286):

  • .github/workflows/test.yml: add 3.15 to the CI matrix (now 6 Python versions).
  • pyproject.toml: add the Programming Language :: Python :: 3.15 classifier.
  • AGENTS.md: update the tested range from 3.9–3.14 to 3.10–3.15 (3.9 was already dropped from the matrix in chore: Fixup of #231 to drop python 3.9 from test.yml #256).

No hook code changes — the wrappers resolve tools dynamically and are gated only by requires-python = ">=3.10", so 3.15 is supported as-is; this is just CI + metadata. Verified locally: test.yml parses, pyproject.toml parses, and the 119-test suite still collects clean.

Closes #286.

Summary by CodeRabbit

  • Compatibility
    • Python 3.15 is now listed in the project’s supported-version classifiers and included in the automated test matrix, extending the versions checked by the project.
    • The documented tested range is now Python 3.10–3.15, replacing the previous range of Python 3.9–3.14.

@coderabbitai

coderabbitai Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 4c347f98-defb-439e-9f33-a850a03baf5e

📥 Commits

Reviewing files that changed from the base of the PR and between e900420 and dbacaaa.


📒 Files selected for processing (1)
  • .github/workflows/test.yml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.



Walkthrough

The package classifiers and test workflow now include Python 3.15. The workflow allows prerelease Python versions. The documentation lists Python 3.10–3.15 as tested versions and retains Python 3.10 as the minimum.

Changes

Python version support

Layer / File(s) Summary
Declare and test Python 3.15
pyproject.toml, .github/workflows/test.yml, AGENTS.md
The package classifiers and test matrix include Python 3.15. The workflow allows prerelease Python versions. The documentation updates the tested range to Python 3.10–3.15.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~5 minutes

Merge Risk: ⚪ Minimal · up to dbaca

The Python 3.15 CI and metadata changes are aligned, and the current setup manifest provides builds for the configured platforms. No actionable merge-blocking risk remains.

Architecture Summary

Architecture risk: 🔵 Low · up to e9004

The change affects 2 systems.

Changed systems: AGENTS.md, pyproject.toml

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — AGENTS.md (service) was modified; 1 changed file maps to changed impact.
  • observed — pyproject.toml (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in AGENTS.md: The documented tested Python versions change from 3.9–3.14 to 3.10–3.15; the stated minimum remains Python 3.10.
  • observed — Modified behavior in pyproject.toml: Adds Python 3.15 to the package’s supported-version classifiers.
  • observed — Modified behavior in .github/workflows/test.yml: The Python version matrix adds 3.15; the existing versions remain.


Pre-merge checks | Passed 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: adding Python 3.15 to the CI test matrix.
Linked Issues check Passed Issue #286 is closed and supplies historical context only. No active directly linked issue provides coding requirements for this pull request.
Out of Scope Changes check Passed The reported changes add Python 3.15 to the CI matrix, add the Python 3.15 classifier, and update the tested-version documentation. These changes match the pull request intent. No unrelated changes ar…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


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.

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR

@codecov

codecov Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (3d1786e) to head (dbacaaa).
⚠️ Report is 8 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main      #291      +/-   ##
===========================================
+ Coverage   97.53%   100.00%   +2.46%     
===========================================
  Files           3         3              
  Lines         243       248       +5     
===========================================
+ Hits          237       248      +11     
+ Misses          6         0       -6     

☔ View full report in Codecov by Harness.
📢 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.

@codspeed

codspeed Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

⚠️ 57 benchmarks spent significant time in system calls

System calls cannot be consistently instrumented, so they are not included in the measure, which understates the real cost. Please switch to the Walltime instrument to accurately measure system calls.

Measurement and system calls

✅ 92 untouched benchmarks
⏩ 54 skipped benchmarks1


Comparing wufangyong973:feat/python-3.15-support (dbacaaa) with main (b5094bf)2

Open in CodSpeed

Footnotes

  1. 54 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

  2. No successful run was found on main (b1c0fc8) during the generation of this report, so b5094bf was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩

@shenxianpeng shenxianpeng changed the title Test and declare Python 3.15 support chore: Test and declare Python 3.15 support Oct 1, 2026
Comment thread .github/workflows/test.yml
@shenxianpeng shenxianpeng added the maintenance Targets chores, refactors and cleanups label Oct 1, 2026
@wufangyong973

Copy link
Copy Markdown
Contributor Author

The 3.15 matrix additions pass locally (Python 3.15.0a7 + all deps), but the GitHub-hosted runners currently don't ship Python 3.15 as a pre-installed toolchain, so all three OS jobs fail at the actions/setup-python step before the tests even start.

This is a runner-environment issue, not a code defect. Once the GitHub Actions runners add Python 3.15, this PR will pass without further changes. The PR title has been updated to reflect that we are adding 3.15 to the test matrix (not claiming 3.15 support yet).

@wufangyong973 wufangyong973 changed the title chore: Test and declare Python 3.15 support test: add Python 3.15 to the CI test matrix Oct 12, 2026
@sonarqubecloud

Copy link
Copy Markdown

@shenxianpeng

Copy link
Copy Markdown
Member

Did you see my comment?

#291 (comment)

@shenxianpeng
shenxianpeng merged commit 0c5d159 into cpp-linter:main Oct 12, 2026
32 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance Targets chores, refactors and cleanups

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Python 3.15

2 participants