Skip to content

ci: pin ruff to 0.15.22 to unbreak main#480

Merged
HarshaNalluru merged 1 commit into
mainfrom
ci/pin-ruff
Jul 23, 2026
Merged

ci: pin ruff to 0.15.22 to unbreak main#480
HarshaNalluru merged 1 commit into
mainfrom
ci/pin-ruff

Conversation

@HarshaNalluru

@HarshaNalluru HarshaNalluru commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Problem

main and every open PR are currently red on the required checks python-lint and python-sdk-test (all Python versions).

Root cause is a floating linter, not any code change:

  • Both jobs install ruff unpinned (pip install ruff in the python-lint job and again in the python-sdk-test "Lint with ruff" step).
  • ruff 0.16.0 was published 2026-07-23T19:10:46Z. The next main run (378d72b/c3e6ddb) executed at 19:14Z — ~4 minutes later — and picked it up.
  • 0.16.0 turned on a large new default rule surface, which flags ~460 pre-existing findings repo-wide: UP045 (120), I001 (84), UP006 (79), BLE001 (71), UP035 (31), plus S110, RUF*, SIM*, DTZ005, etc.

The last green main runs (01:00Z the same day) used ruff 0.15.22. No .py changed between those and the first red run (only .yml / lockfiles), so this is purely the ruff version.

Fix

Pin both installs to ruff==0.15.22 (the last green version), with a comment explaining why.

Verification (local, on current main)

  • ruff==0.15.22 check . --extend-exclude '**/*.ipynb' -> All checks passed!
  • ruff==0.15.22 check src/ tests/ in sdks/python/sdk -> All checks passed!

Note

This is a deliberate stopgap to unblock merges immediately. The 460 findings under 0.16.0 are real lint signal; a follow-up can address (or selectively ignore) them and then bump the pin. Filing/So they don't get lost, happy to open that follow-up.

Review in cubic

ruff 0.16.0 (released 2026-07-23) enabled a large new default rule surface
(UP045/UP006/UP035, I001, BLE001, S110, RUF*, SIM*, ...) that flags ~460
pre-existing findings across the repo. Because both the python-lint job and
the python-sdk-test job install ruff unpinned, main and every open PR went
red the moment 0.16.0 shipped, ~4 minutes before the next main run.

No .py changed between the last green run (0.15.22) and the first red one, so
pinning to 0.15.22 restores green. Verified locally: 'ruff check .' and the
SDK 'ruff check src/ tests/' both pass clean under 0.15.22.

This is a stopgap to unblock merges; the 0.16.0 findings can be addressed
(or selectively ignored) in a follow-up, then the pin bumped.
@HarshaNalluru
HarshaNalluru requested a review from r4ghu as a code owner July 23, 2026 21:09
Copilot AI review requested due to automatic review settings July 23, 2026 21:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Pins the Python linter ruff in CI to prevent newly released upstream versions from breaking required checks across the repo, restoring reliability for merges while a follow-up can address newly surfaced lint findings.

Changes:

  • Pin ruff to 0.15.22 in the python-lint GitHub Actions job.
  • Pin ruff to 0.15.22 in the python-sdk-test GitHub Actions job, matching the python-lint pin and documenting the rationale.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions

Copy link
Copy Markdown

Codex review

No issues found.

@HarshaNalluru
HarshaNalluru merged commit 4027809 into main Jul 23, 2026
23 checks passed
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.

3 participants