Restore Ruff “preview” defaults to unblock CI (match 0.15.1 behavior) #300

Closed
opened 2026-04-05 16:25:07 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @pheus on 2/20/2026

Proposed Changes

Ruff 0.15.2 changed the effective defaults when preview = true is enabled, which is now breaking our CI lint step. To quickly unblock contributors while we decide on a longer-term strategy (pinning/tooling upgrades), restore the previous behavior by explicitly setting the legacy default selection in ruff.toml:

# ruff.toml

[lint]
select = ["E4", "E7", "E9", "F"]

This should make our lint set deterministic again and align with the Ruff devs’ recommendation for users who want the old defaults while using preview mode.

References

Justification

CI is currently failing due to upstream changes in Ruff defaults under preview = true, which is blocking unrelated PRs. Explicitly setting lint.select is a minimal, low-risk change that restores the previous behavior (as in 0.15.1) and gets CI green again. This is intentionally a short-term fix, separate from the broader discussion about pinning Ruff and managing upgrades more strategically.

*Originally created by @pheus on 2/20/2026* ### Proposed Changes Ruff 0.15.2 changed the effective defaults when `preview = true` is enabled, which is now breaking our CI lint step. To quickly unblock contributors while we decide on a longer-term strategy (pinning/tooling upgrades), restore the previous behavior by explicitly setting the legacy default selection in `ruff.toml`: ```toml # ruff.toml [lint] select = ["E4", "E7", "E9", "F"] ``` This should make our lint set deterministic again and align with the Ruff devs’ recommendation for users who want the old defaults while using preview mode. **References** - Ruff 0.15.2 release notes: https://github.com/astral-sh/ruff/releases/tag/0.15.2 - Ruff discussion: https://github.com/astral-sh/ruff/discussions/23203 ### Justification CI is currently failing due to upstream changes in Ruff defaults under `preview = true`, which is blocking unrelated PRs. Explicitly setting `lint.select` is a minimal, low-risk change that restores the previous behavior (as in 0.15.1) and gets CI green again. This is intentionally a short-term fix, separate from the broader discussion about pinning Ruff and managing upgrades more strategically.
MrUnknownDE added the type: housekeepingstatus: acceptedtype: housekeepingtype: housekeepingnetboxtype: housekeepingtype: housekeepingtype: housekeepingtype: housekeepingtype: housekeepingtype: housekeepingtype: housekeepingtype: housekeepingtype: housekeepingstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptedstatus: acceptednetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetboxnetbox labels 2026-04-05 16:25:10 +02:00
Sign in to join this conversation.
No Label netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox netbox status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted status: accepted type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping type: housekeeping
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/netbox#300