Skip to content

feat(tests): add experimental free-threaded Python environments to CI#46

Merged
techouse merged 2 commits intomainfrom
chore/free-threaded-cpython
Mar 8, 2026
Merged

feat(tests): add experimental free-threaded Python environments to CI#46
techouse merged 2 commits intomainfrom
chore/free-threaded-cpython

Conversation

@techouse
Copy link
Owner

@techouse techouse commented Mar 8, 2026

This pull request adds support for experimental Python 3.13t and 3.14t environments to the test matrix, updates the GitHub Actions workflow to handle these as experimental, and updates tox.ini to recognize the new environments. The most important changes are grouped below.

Continuous Integration Workflow Updates:

  • The GitHub Actions workflow (.github/workflows/test.yml) now includes jobs for Python 3.13t and 3.14t, marked as experimental. These jobs are labeled accordingly and are allowed to fail without failing the entire workflow. [1] [2]

tox Configuration Updates:

  • The tox.ini configuration is updated to add python3.13t and python3.14t to both the envlist and the Python interpreter mapping, enabling local and CI testing in these new environments. [1] [2]

Summary by CodeRabbit

  • Chores
    • Updated test workflow with dynamic naming for experimental Python versions
    • Added support for Python 3.13t and 3.14t in testing infrastructure
    • Configured experimental tests to continue on errors

@techouse techouse self-assigned this Mar 8, 2026
@techouse techouse added the test label Mar 8, 2026
@techouse techouse requested a review from Copilot March 8, 2026 18:14
@coderabbitai
Copy link

coderabbitai bot commented Mar 8, 2026

📝 Walkthrough

Walkthrough

The PR introduces experimental Python 3.14-turtle variant support by adding a new matrix entry to the GitHub Actions CI workflow and corresponding tox environment configuration. The test job name and error handling are now dynamic based on experimental status.

Changes

Cohort / File(s) Summary
CI Workflow Configuration
.github/workflows/test.yml
Test job name now conditionally appends "(experimental)" flag when matrix.experimental is true; added continue-on-error: true for experimental matrix runs; introduced new matrix entry for Python 3.14t with experimental flag enabled.
Tox Environment Configuration
tox.ini
Added python3.14t environment to envlist and mapped 3.14t to python3.14t in GitHub Actions Python matrix configuration.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~4 minutes

Possibly related PRs

Suggested labels

python, enhancement

Poem

🐢 A turtle arrives in the CI nest,
With Python 3.14 passing the test,
Experimental flags wave on high,
While errors allowed, workflows won't cry,
Progress marches with scaled delight!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title accurately describes the main change: adding experimental free-threaded Python environments to CI, which aligns with the new matrix entry for python3.14t with experimental: true flag.
Description check ✅ Passed The PR description comprehensively covers the changes, objectives, and context for adding experimental Python 3.14t support, with clear explanations and referenced diff hunks.

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

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/free-threaded-cpython

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.

@codacy-production
Copy link

codacy-production bot commented Mar 8, 2026

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
+0.00% (target: -1.00%)
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (eb3414d) 1903 1903 100.00%
Head commit (4740d0a) 1903 (+0) 1903 (+0) 100.00% (+0.00%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#46) 0 0 ∅ (not applicable)

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

@codecov
Copy link

codecov bot commented Mar 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (eb3414d) to head (4740d0a).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #46   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           22        22           
  Lines         1903      1903           
=========================================
  Hits          1903      1903           

☔ 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the project’s CI/tox configuration to introduce an experimental “Python 3.14t” test run, with clearer labeling in GitHub Actions and with failures allowed without failing the overall workflow.

Changes:

  • Added python3.14t to the tox env list and GitHub Actions interpreter-to-toxenv mapping.
  • Extended the GitHub Actions test matrix with a python3.14t entry marked experimental: true.
  • Updated the GitHub Actions job name and job-level continue-on-error to reflect/handle experimental matrix entries.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
tox.ini Adds python3.14t to envlist and maps 3.14tpython3.14t for tox-gh-actions.
.github/workflows/test.yml Adds an experimental 3.14t matrix entry, labels experimental jobs in the job name, and allows experimental jobs to fail.

@techouse techouse changed the title feat(tests): add experimental Python 3.14t environment to CI feat(tests): add experimental free-threaded Python environments to CI Mar 8, 2026
@techouse techouse merged commit 74995b3 into main Mar 8, 2026
25 checks passed
@techouse techouse deleted the chore/free-threaded-cpython branch March 8, 2026 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants