Skip to content

👷 Enable testing on Python 3.14#240

Merged
burgholzer merged 2 commits intomainfrom
314-testing
Oct 14, 2025
Merged

👷 Enable testing on Python 3.14#240
burgholzer merged 2 commits intomainfrom
314-testing

Conversation

@denialhaag
Copy link
Copy Markdown
Member

@denialhaag denialhaag commented Oct 13, 2025

Description

This PR enables testing on Python 3.14.

Fixes #188

Checklist:

  • The pull request only contains commits that are focused and relevant to this change.
  • I have added appropriate tests that cover the new/changed functionality.
  • I have updated the documentation to reflect these changes.
  • The changes follow the project's style guidelines and introduce no new warnings.
  • The changes are fully tested and pass the CI checks.
  • I have reviewed my own code changes.

Summary by CodeRabbit

  • Tests

    • Expanded test coverage to Python 3.14 to validate compatibility.
    • Updated test dependency constraints to enable reliable testing on Python 3.14.
    • Removed the temporary skip for CPython 3.14 so tests run fully.
  • Chores

    • Minor CI workflow adjustment to artifact provenance path handling for more consistent builds.

@denialhaag denialhaag self-assigned this Oct 13, 2025
@denialhaag denialhaag added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Oct 13, 2025
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Oct 13, 2025

📝 Walkthrough

Walkthrough

The PR updates CI/CD and test configurations: adjusts a GitHub Actions artifact provenance subject-path quoting, adds Python 3.14 to the Nox test matrix, removes a cp314 test-skip entry, and adds a Python 3.14-specific numpy constraint for tests.

Changes

Cohort / File(s) Summary
Python 3.14 test enablement
noxfile.py, pyproject.toml
Add Python 3.14 to PYTHON_ALL_VERSIONS; remove cp314-* from test-skip patterns; add test dependency constraint numpy>=2.3.2 for Python >= 3.14.
CD workflow artifact path tweak
.github/workflows/cd.yml
Change artifact provenance subject-path from quoted "dist/*" to unquoted dist/* (format-only change).

Sequence Diagram(s)

sequenceDiagram
    participant GH as GitHub Actions
    participant Nox as Nox test runner
    participant Py as Python interpreter
    participant Pip as Package resolver

    GH->>Nox: Trigger test matrix (3.10,3.11,3.12,3.13,3.14)
    loop per Python version
        Nox->>Py: Spawn interpreter vX.Y
        Note over Py,Pip: If vX.Y == 3.14 apply numpy>=2.3.2 constraint
        Py->>Pip: Install test dependencies
        Pip-->>Py: Dependencies installed
        Nox-->>GH: Return test results
    end
    rect rgba(230,240,255,0.4)
    Note over GH: CD artifact provenance subject-path uses unquoted: dist/*
    end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Poem

I hop through builds with eager paws,
3.14 added—no more pauses. 🐇
Numpy pinned where needed so,
Skips removed and tests can go.
Dist unquoted—CI hums along.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Out of Scope Changes Check ⚠️ Warning The adjustment in .github/workflows/cd.yml altering the subject-path quoting is unrelated to the linked issue’s scope of enabling Python 3.14 testing and constitutes an out-of-scope change. Remove or justify the cd.yml adjustment so that the pull request remains focused on the Python 3.14 testing objectives outlined in issue #188.
✅ Passed checks (4 passed)
Check name Status Explanation
Title Check ✅ Passed The title clearly states the core change of enabling testing on Python 3.14 and directly aligns with the contents of the changeset, making it easy to scan while remaining concise and focused.
Linked Issues Check ✅ Passed This pull request implements the core requirements from issue #188 by adding Python 3.14 to the nox test matrix and removing the temporary cp314 test skip in the project configuration, fulfilling the objective to enable testing on Python 3.14 once dependencies are available.
Description Check ✅ Passed The description adheres to the repository template by providing a summary of the change, referencing the fixed issue number, and including a completed checklist for relevant items, thereby offering clear context and demonstrating that issue #188 is addressed.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 314-testing

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f81d10d and 074e5dc.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • pyproject.toml (1 hunks)

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

@denialhaag denialhaag requested a review from burgholzer October 14, 2025 09:34
Copy link
Copy Markdown
Member

@burgholzer burgholzer left a comment

Choose a reason for hiding this comment

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

LGTM 👍🏼 let's get this in.
This should be pretty much ready for a release afterwards (given a final renovate run).

@burgholzer burgholzer enabled auto-merge (squash) October 14, 2025 13:14
@burgholzer burgholzer merged commit e4fab6c into main Oct 14, 2025
27 checks passed
@burgholzer burgholzer deleted the 314-testing branch October 14, 2025 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

👷🏼🐍 Enable testing on Python 3.14

2 participants