Skip to content

Conversation

@KRRT7
Copy link
Contributor

@KRRT7 KRRT7 commented Oct 8, 2025

PR Type

Enhancement


Description

  • Add Python 3.14 to CI matrix

Diagram Walkthrough

flowchart LR
  wf["unit-tests workflow"] -- "extend matrix" --> py314["Python 3.14 added"]
Loading

File Walkthrough

Relevant files
Enhancement
unit-tests.yaml
Add Python 3.14 to test matrix                                                     

.github/workflows/unit-tests.yaml

  • Extend python-version matrix to include 3.14
  • Keep existing versions and settings intact
+1/-1     

@github-actions github-actions bot added the workflow-modified This PR modifies GitHub Actions workflows label Oct 8, 2025
@KRRT7 KRRT7 marked this pull request as draft October 8, 2025 21:05
@github-actions
Copy link

github-actions bot commented Oct 8, 2025

PR Reviewer Guide 🔍

(Review updated until commit 774ee63)

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 1 🔵⚪⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Tooling Availability

Verify that Python 3.14 images/interpreters are available on ubuntu-latest and supported by actions/setup-python; otherwise jobs will fail. Consider pinning setup-python version or adding a fallback.

python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]

@github-actions
Copy link

github-actions bot commented Oct 8, 2025

PR Code Suggestions ✨

Latest suggestions up to 774ee63
Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Exclude unsupported runtime version

Pin the matrix entries to exact strings, but exclude versions that are not yet
available on setup-python to avoid workflow failures. Add an exclude entry for 3.14
until the runner supports it, then remove the exclusion when it becomes available.

.github/workflows/unit-tests.yaml [14]

 python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
+exclude:
+  - python-version: "3.14"
Suggestion importance[1-10]: 5

__

Why: The suggestion correctly targets the new matrix line at line 14 and addresses a potential CI failure if Python "3.14" is not yet available on the runner. However, the proposed improved YAML likely needs proper nesting under strategy.matrix and may not be valid as shown; impact is moderate but correctness is partially underspecified.

Low

Previous suggestions

Suggestions up to commit bf633fe
CategorySuggestion                                                                                                                                    Impact
Possible issue
Limit allowed failures to 3.14

Restrict allowed failures to only the newly added version to avoid masking
regressions on stable versions. Use a matrix include/allow-failure pattern so only
Python 3.14 can fail without failing the job.

.github/workflows/unit-tests.yaml [15]

-continue-on-error: true
+strategy:
+  fail-fast: false
+  matrix:
+    python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
+    include:
+      - python-version: "3.14"
+        allow-failure: true
+continue-on-error: ${{ matrix.allow-failure == true }}
Suggestion importance[1-10]: 4

__

Why: The idea to avoid masking regressions by limiting allowed failures is reasonable, but the proposed YAML uses a non-standard allow-failure field and continue-on-error with an expression per-matrix is not supported this way in GitHub Actions; it must be set at the job level and often requires separate jobs or a strategy workaround. The existing_code line is correctly located at line 15 in the new hunk.

Low

@KRRT7
Copy link
Contributor Author

KRRT7 commented Oct 14, 2025

it was originally failing because a transitive dependency did not support 3.14, they've since added support

@KRRT7 KRRT7 marked this pull request as ready for review October 14, 2025 04:49
@github-actions
Copy link

Persistent review updated to latest commit 774ee63

@KRRT7 KRRT7 requested a review from a team October 14, 2025 05:27
run: uv sync

- name: Install test-only dependencies (Python 3.13)
if: matrix.python-version == '3.13'
Copy link
Contributor

Choose a reason for hiding this comment

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

not applicable for 3.9, 3.10, 3.11 and 3.12?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

tests dependencies can be very heavy and take a long time to download, i don't want to 5-10x tests runtime unnecesarily, 3.13 is a good enough compromise

@KRRT7 KRRT7 merged commit 3b522fa into main Oct 14, 2025
22 of 23 checks passed
@KRRT7 KRRT7 deleted the 3.14-in-CI branch October 20, 2025 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Review effort 1/5 workflow-modified This PR modifies GitHub Actions workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants