Files
awx/pyproject.toml
Hao LiuandClaude Fable 5.1 33a9eb7d15 Pin ruff to a compatible release (~=0.16.0) (#16694)
The Black -> Ruff migration (AAP-85334) installs a bare, unpinned
`ruff` in four places: requirements_dev.txt, both tox.ini linters
envs, and the devel image Dockerfile. CI's api-lint job resolves the
latest release on every run.

Ruff treats minor releases as breaking by policy: that is where the
yearly formatter style guide lands (0.9.0, 0.15.0) and where rules are
promoted or change behavior. Left unpinned, the next minor turns
unrelated PRs and quiet stable branches red with no code change.

Pin to ~=0.16.0 everywhere, and add `required-version` to
[tool.ruff] so a developer's mismatched local ruff (pre-commit.sh uses
whatever is on PATH) is refused instead of silently reformatting.

Patch releases within 0.16.x still flow, so bug fixes arrive without
a bump; the floor moves through a reviewed PR when 0.17 lands.


Claude-Session: https://claude.ai/code/session_011rb7ruHixj48khUNXxxqPG

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-02 13:22:24 -04:00

24 lines
582 B
TOML

[build-system]
requires = ["setuptools>=45", "setuptools_scm[toml]>=6.2,<10"]
build-backend = "setuptools.build_meta"
# Do not uncomment the line below. We need to be able to override the version via a file, and this
# causes the "version" key in setup.cfg to be ignored.
# [tool.setuptools_scm]
[tool.ruff]
required-version = "~=0.16.0"
line-length = 160
extend-exclude = ["awx_collection"]
[tool.ruff.format]
quote-style = "preserve"
[tool.ruff.lint]
select = [
"E722",
"F401", "F402", "F405", "F523", "F541",
"F811", "F821", "F822", "F841",
"W291", "W605",
]