Skip to content

Conversation

@ParticularlyPythonicBS
Copy link
Member

@ParticularlyPythonicBS ParticularlyPythonicBS commented Jan 23, 2026

Summary by CodeRabbit

  • Chores
    • Added testing support for Python 3.14 and updated CI tooling.
    • Updated CI setup utility versions used in workflows.
    • Relaxed dependency constraints (matplotlib min-version, removed gurobipy upper bound).
    • Bumped development gurobipy to 13.0.1.
    • Narrowed warnings-as-errors policy to package-scoped rules instead of global.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Jan 23, 2026

Walkthrough

Updates CI to test Python 3.14 and bumps uv setup utility versions; relaxes matplotlib pin, removes gurobipy upper bound in pyproject, upgrades gurobipy in dev requirements, and scopes test warnings to specific packages.

Changes

Cohort / File(s) Summary
CI/CD Configuration
.github/workflows/ci.yml
Added Python 3.14 to main test matrix; updated uv setup utility from 0.9.60.9.26 in main test and type-check workflows
Dependency Management
pyproject.toml
Relaxed matplotlib from ==3.9.2>=3.9.2; removed upper bound on gurobipy (now >=12.0.3); changed warnings-as-errors policy to apply only to temoa.* and tests.* categories
Development Requirements
requirements-dev.txt
Updated gurobipy from 12.0.313.0.1

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: updating CI for Python 3.14 and updating multiple package versions across config files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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


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.

@ParticularlyPythonicBS ParticularlyPythonicBS added the Maintenance Code quality fixes and deprecation management label Jan 23, 2026
@ParticularlyPythonicBS ParticularlyPythonicBS marked this pull request as draft January 23, 2026 14:45
@ParticularlyPythonicBS ParticularlyPythonicBS marked this pull request as ready for review January 23, 2026 18:15
@ParticularlyPythonicBS ParticularlyPythonicBS marked this pull request as draft January 23, 2026 18:16
@ParticularlyPythonicBS ParticularlyPythonicBS marked this pull request as ready for review January 23, 2026 18:19
@ParticularlyPythonicBS ParticularlyPythonicBS changed the title chore: updating packages to latest compatible version chore: updating packages, ci for 3.14 Jan 23, 2026
@ParticularlyPythonicBS ParticularlyPythonicBS added the Infra workflow changes label Jan 23, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🤖 Fix all issues with AI agents
In @.github/workflows/ci.yml:
- Around line 37-41: Update the uv version used in the type-check workflow to
match the test workflow: change the setup step that uses astral-sh/setup-uv@v6
(the step named "Install uv") in the type-check job from version "0.9.6" to
"0.9.26" so both jobs use version "0.9.26" (ensure the step still uses the same
python-version matrix variable `${{ matrix.python-version }}`).
- Around line 31-33: The CI matrix currently includes "python-version:
[\"3.12\", \"3.13\", \"3.14\"]" which will fail because gurobipy wheels for
cp314 are not on PyPI; add 3.14 as an allowed-failure by keeping it in the
matrix but making the job tolerate failures when matrix.python-version == '3.14'
(e.g., add a job-level continue-on-error expression like continue-on-error: ${{
matrix.python-version == '3.14' }}), so tests still run on 3.14 but won't break
the overall workflow; refer to the matrix key "python-version" and the job-level
"continue-on-error" setting and keep any gurobipy install steps unchanged.

In `@pyproject.toml`:
- Around line 128-136: The warnings-as-errors scope in pyproject.toml currently
only targets "temoa.*" and "tests.*" (the entries
"error::DeprecationWarning:temoa.*", etc.), which can hide deprecations from
upstream dependencies; update the configuration to either (a) add a separate
CI/job config that runs with broader escalation (e.g., a periodic job or new
workflow that sets warnings to error globally), or (b) extend the filters to
include specific core dependencies you care about (add additional
"error::DeprecationWarning:packagename.*" / "error::FutureWarning:packagename.*"
entries for those libraries) so that critical upstream deprecations also fail CI
while keeping day-to-day runs scoped to temoa/tests.
- Around line 67-69: The dependency constraint for the solver list currently
allows any future major gurobipy version via "gurobipy>=12.0.3"; update the
constraint to pin an upper bound to the current major to prevent breaking
changes (for example change the entry in the solver list from "gurobipy>=12.0.3"
to include an upper bound like "<13.0.0") so reinstall/CI won't pull
incompatible gurobipy majors; modify the solver array entry accordingly and run
dependency install/tests to verify compatibility.
- Around line 12-15: The pyproject dependency "matplotlib>=3.9.2" is unbounded
above and may pull meso/major releases with breaking changes; update the
constraint to include a safe upper bound (for example change "matplotlib>=3.9.2"
to "matplotlib>=3.9.2,<4.0" or "matplotlib>=3.9.2,<3.11") or add a pinned
constraints file and reference it from pyproject.toml so CI only installs vetted
matplotlib versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Infra workflow changes Maintenance Code quality fixes and deprecation management

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants