Skip to content

Python 3.14 final - #90

Closed
lormafe34 wants to merge 3 commits into
intra2net:masterfrom
lormafe34:python-3.14-final
Closed

lormafe34 wants to merge 3 commits into
intra2net:masterfrom
lormafe34:python-3.14-final

Conversation

@lormafe34

@lormafe34 lormafe34 commented Jul 20, 2026 •

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Chores
    • Updated CI workflow naming and streamlined automated runs to only trigger on relevant push and pull requests to main/master (removed manual dispatch).
    • Expanded CI test coverage with a Python version matrix (3.10–3.14) running the test suite.
    • Tightened the lint workflow to run using Python 3.12 and 3.13.
  • Documentation
    • Refreshed README formatting by adjusting whitespace for improved readability, including the start of the document and the “Further resources” section.

@coderabbitai

coderabbitai Bot commented Jul 20, 2026 •

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The CI workflow adds pytest execution across Python 3.10–3.14 and limits triggers to main and master. The lint workflow targets Python 3.12 and 3.13 explicitly. README whitespace is adjusted.

Changes

CI validation workflows

Layer / File(s) Summary
Matrix test and lint configuration
.github/workflows/ci.yml, .github/workflows/lint.yml
The CI workflow adds a Python 3.10–3.14 pytest matrix and restricts triggers to push and pull_request on main and master. Lint setup uses Python 3.12 and 3.13, and the CI file receives an end-of-file line adjustment.

README formatting

Layer / File(s) Summary
README spacing updates
README.md
Blank lines are added at the document start and around the “Further resources” section.

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

Possibly related PRs

  • intra2net/guibot#89: Modifies the same CI and lint workflows with matching trigger, Python matrix, and interpreter-version changes.
  • intra2net/guibot#80: Also changes the CI workflow name to CI.

Suggested reviewers: pevogam

🚥 Pre-merge checks | ✅ 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 is clearly related to the main change: updating CI to include Python 3.14 support.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@lormafe34
lormafe34 force-pushed the python-3.14-final branch from 40fc2fc to 548041e Compare July 20, 2026 09:58

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ci.yml:
- Around line 1-32: Remove the stray `yaml` token at the start of the workflow
and correct the `build` job’s `steps` list indentation so each step uses valid
`- uses:` or `- name:` entries, with nested `uses`, `with`, and `run` fields
properly aligned.
- Around line 26-32: The CI build matrix job currently installs only pytest, so
tests cannot import guibot or required dependencies. Update the “Install
dependencies” step in the build workflow to install the project requirements
from packaging/pip_requirements.txt, including the package itself as needed,
before the “Test with pytest” step.

In @.github/workflows/lint.yml:
- Line 15: Update the lint workflow’s Python job strategy to define 3.12 and
3.13 under strategy.matrix.python-version, then set actions/setup-python’s
with.python-version to ${{ matrix.python-version }} instead of the array.
Preserve the existing lint steps for each matrix entry.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ecb05e61-5872-4861-ae5c-a5d771a2a6da

📥 Commits

Reviewing files that changed from the base of the PR and between c38b1ad and 40fc2fc.

📒 Files selected for processing (3)
  • .github/workflows/ci.yml
  • .github/workflows/lint.yml
  • README.md

Comment thread .github/workflows/ci.yml
Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/lint.yml Outdated
@lormafe34
lormafe34 force-pushed the python-3.14-final branch 2 times, most recently from f3b91ee to 66ca59d Compare July 20, 2026 10:58
Add Python 3.14 support to CI workflow and fix documentation
@lormafe34
lormafe34 force-pushed the python-3.14-final branch from 66ca59d to 644969b Compare July 20, 2026 11:03

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

♻️ Duplicate comments (2)
.github/workflows/lint.yml (1)

6-15: 🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win

Use a matrix strategy for multiple Python versions.

The actions/setup-python action requires a single scalar version string under with.python-version. To run the lint job across multiple Python versions, define a matrix strategy.

🐛 Proposed fix to use a matrix
   lint:
     runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        python-version: ['3.12', '3.13']
 
     steps:
       - uses: actions/checkout@v4
 
       - name: Set up Python
         uses: actions/setup-python@v5
         with:
-          python-version: ['3.12', '3.13']
+          python-version: ${{ matrix.python-version }}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/lint.yml around lines 6 - 15, Update the lint job to
define a matrix strategy containing Python 3.12 and 3.13, then reference the
matrix value as the scalar with.python-version input for
actions/setup-python@v5. Keep the existing checkout and lint steps unchanged.

Source: Linters/SAST tools

.github/workflows/ci.yml (1)

10-30: 🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win

Fix invalid YAML syntax and install project dependencies.

The step definitions are missing spaces after the hyphens (e.g., -uses: instead of - uses:), which invalidates the YAML. Additionally, the job currently installs only pytest without the project requirements, causing tests to fail when importing the package.

🐛 Proposed fix for the YAML syntax and dependencies
-jobs:
- build:
-   runs-on: ubuntu-latest
-   strategy:
-    matrix:
-     python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
-
-
-  steps:
-  -uses: actions/checkout@v4
-  -name: Set up Python ${{ matrix.python-version }}
-   uses: actions/setup-python@v5
-   with:
-     python-version: ${{ matrix.python-version }}
-  -name: Install dependencies
-   run: |
-     python -m pip install --upgrade pip
-     pip install pytest
-  -name: Test with pytest
-   run: |
-     pytest
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
+    steps:
+      - uses: actions/checkout@v4
+      - name: Set up Python ${{ matrix.python-version }}
+        uses: actions/setup-python@v5
+        with:
+          python-version: ${{ matrix.python-version }}
+      - name: Install dependencies
+        run: |
+          python -m pip install --upgrade pip
+          pip install pytest
+          pip install -r packaging/pip_requirements.txt
+          cd packaging && pip install .
+      - name: Test with pytest
+        run: |
+          pytest
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/ci.yml around lines 10 - 30, Correct the workflow step
syntax in the build job by using valid YAML list-item spacing for the checkout,
setup-python, dependency-installation, and pytest steps. Update the Install
dependencies step to install the project’s declared requirements in addition to
pytest, using the repository’s existing dependency definition, while preserving
the Python version matrix and test command.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In @.github/workflows/ci.yml:
- Around line 10-30: Correct the workflow step syntax in the build job by using
valid YAML list-item spacing for the checkout, setup-python,
dependency-installation, and pytest steps. Update the Install dependencies step
to install the project’s declared requirements in addition to pytest, using the
repository’s existing dependency definition, while preserving the Python version
matrix and test command.

In @.github/workflows/lint.yml:
- Around line 6-15: Update the lint job to define a matrix strategy containing
Python 3.12 and 3.13, then reference the matrix value as the scalar
with.python-version input for actions/setup-python@v5. Keep the existing
checkout and lint steps unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1c113965-7da7-449f-a2a2-f50aa8ea34fb

📥 Commits

Reviewing files that changed from the base of the PR and between 40fc2fc and 66ca59d.

📒 Files selected for processing (3)
  • .github/workflows/ci.yml
  • .github/workflows/lint.yml
  • README.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • README.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

♻️ Duplicate comments (2)
.github/workflows/lint.yml (1)

6-15: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Use a matrix for the Python lint jobs.

The actions/setup-python action expects a single scalar string for python-version, not a YAML sequence. Define the versions in strategy.matrix to run the lint job correctly across both Python versions.

🐛 Proposed fix to use a matrix
   lint:
     runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        python-version: ['3.12', '3.13']
 
     steps:
       - uses: actions/checkout@v4
 
       - name: Set up Python
         uses: actions/setup-python@v5
         with:
-          python-version: ['3.12', '3.13']
+          python-version: ${{ matrix.python-version }}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/lint.yml around lines 6 - 15, Update the lint job’s
strategy to define Python versions in a matrix containing 3.12 and 3.13, then
reference the matrix value as the scalar python-version input for
actions/setup-python@v5. Preserve the existing checkout and lint steps while
ensuring the job runs once per Python version.
.github/workflows/ci.yml (1)

11-30: 🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win

Fix YAML syntax, step indentation, and missing dependencies.

The build job has several issues that will cause it to fail:

  • Invalid YAML sequence items (-uses: instead of - uses:, and -name: instead of - name:).
  • Misaligned indentation for steps relative to the runs-on property.
  • Missing installation of project dependencies (packaging/pip_requirements.txt and the guibot package itself), which will cause pytest to fail due to missing modules.
🐛 Proposed fixes
- build:
-   runs-on: ubuntu-latest
-   strategy:
-    matrix:
-     python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
-
-
-  steps:
-  -uses: actions/checkout@v4
-  -name: Set up Python ${{ matrix.python-version }}
-   uses: actions/setup-python@v5
-   with:
-     python-version: ${{ matrix.python-version }}
-  -name: Install dependencies
-   run: |
-     python -m pip install --upgrade pip
-     pip install pytest
-  -name: Test with pytest
-   run: |
-     pytest
+  build:
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
+
+    steps:
+      - uses: actions/checkout@v4
+      - name: Set up Python ${{ matrix.python-version }}
+        uses: actions/setup-python@v5
+        with:
+          python-version: ${{ matrix.python-version }}
+      - name: Install dependencies
+        run: |
+          python -m pip install --upgrade pip
+          pip install -r packaging/pip_requirements.txt
+          pip install ./packaging
+          pip install pytest
+      - name: Test with pytest
+        run: |
+          pytest
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/ci.yml around lines 11 - 30, Fix the build job in the CI
workflow by aligning steps under the job and using valid YAML sequence syntax
for checkout and setup steps. Update “Install dependencies” to install
packaging/pip_requirements.txt and the guibot package before installing or
running pytest, preserving the existing Python matrix and test command.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In @.github/workflows/ci.yml:
- Around line 11-30: Fix the build job in the CI workflow by aligning steps
under the job and using valid YAML sequence syntax for checkout and setup steps.
Update “Install dependencies” to install packaging/pip_requirements.txt and the
guibot package before installing or running pytest, preserving the existing
Python matrix and test command.

In @.github/workflows/lint.yml:
- Around line 6-15: Update the lint job’s strategy to define Python versions in
a matrix containing 3.12 and 3.13, then reference the matrix value as the scalar
python-version input for actions/setup-python@v5. Preserve the existing checkout
and lint steps while ensuring the job runs once per Python version.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 26a939a8-123f-40b5-b3bd-3bc33e66577c

📥 Commits

Reviewing files that changed from the base of the PR and between 66ca59d and 644969b.

📒 Files selected for processing (3)
  • .github/workflows/ci.yml
  • .github/workflows/lint.yml
  • README.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • README.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

♻️ Duplicate comments (2)
.github/workflows/ci.yml (2)

24-24: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Install project dependencies alongside pytest.

Tests will fail with ModuleNotFoundError if the package and its required dependencies are not installed in the environment. Ensure that this step installs packaging/pip_requirements.txt and the package itself, not just pytest.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/ci.yml at line 24, Update the “Install dependencies”
workflow step to install the requirements from packaging/pip_requirements.txt
and install the project package itself in addition to pytest, ensuring the test
environment has all required dependencies.

20-23: 🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win

Fix YAML indentation for the setup-python step.

The uses and with keys must align with name to form a valid YAML mapping. GitHub Actions will reject this file due to the syntax error.

🔧 Proposed fix for indentation
-  - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v5
-    with:
-      python-version: ${{ matrix.python-version }}
+  - name: Set up Python ${{ matrix.python-version }}
+    uses: actions/setup-python@v5
+    with:
+      python-version: ${{ matrix.python-version }}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/ci.yml around lines 20 - 23, Correct the YAML indentation
for the setup-python workflow step so uses and with align with name within the
same mapping, preserving the existing action and matrix.python-version
configuration.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In @.github/workflows/ci.yml:
- Line 24: Update the “Install dependencies” workflow step to install the
requirements from packaging/pip_requirements.txt and install the project package
itself in addition to pytest, ensuring the test environment has all required
dependencies.
- Around line 20-23: Correct the YAML indentation for the setup-python workflow
step so uses and with align with name within the same mapping, preserving the
existing action and matrix.python-version configuration.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 75e8004d-8a47-482f-bd9d-4f260cd6c9f9

📥 Commits

Reviewing files that changed from the base of the PR and between 644969b and de67a1d.

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

@lormafe34
lormafe34 force-pushed the python-3.14-final branch 2 times, most recently from 8c44d74 to 7fcc787 Compare July 21, 2026 07:21
@lormafe34
lormafe34 force-pushed the python-3.14-final branch from 7fcc787 to 7783dbe Compare July 21, 2026 07:27
@coderabbitai coderabbitai Bot mentioned this pull request Jul 22, 2026
@pevogam

pevogam commented Jul 23, 2026

Copy link
Copy Markdown
Member

Closed as duplicate to #87.

@pevogam pevogam closed this Jul 23, 2026
@coderabbitai coderabbitai Bot mentioned this pull request Jul 29, 2026
@lormafe34
lormafe34 deleted the python-3.14-final branch September 10, 2026 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants