• B
    Auto merge of #112482 - tgross35:ci-non-rust-linters, r=pietroalbini · 9fa6bdd7
    bors 提交于
    Add support for tidy linting via external tools for non-rust files
    
    This change adds the flag `--check-extras` to `tidy`. It accepts a comma separated list of any of the options:
    
    * py (test everything applicable for python files)
    * py:lint (lint python files using `ruff`)
    * py:fmt (check formatting for python files using `black`)
    * shell or shell:lint (lint shell files using `shellcheck`)
    
    Specific files to check can also be specified via positional args. Examples:
    
    * `./x test tidy --check-extras=shell,py`
    * `./x test tidy --check-extras=py:fmt -- src/bootstrap/bootstrap.py`
    * `./x test tidy --check-extras=shell -- src/ci/*.sh`
    * Python formatting can be applied with bless: `./x test tidy --ckeck-extras=py:fmt --bless`
    
    `ruff` and `black` need to be installed via pip; this tool manages these within a virtual environment at `build/venv`. `shellcheck` needs to be installed on the system already.
    
    ---
    
    This PR doesn't fix any of the errors that show up (I will likely go through those at some point) and it doesn't enforce anything new in CI. Relevant zulip discussion: https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/Other.20linters.20in.20CI
    9fa6bdd7
test.rs 101.2 KB