ruff/crates/ty/tests/cli
Brent Westbrook ac5488086f
[ty] Add GitHub output format (#20358)
## Summary

This PR wires up the GitHub output format moved to `ruff_db` in #20320
to the ty CLI.

It's a bit smaller than the GitLab version (#20155) because some of the
helpers were already in place, but I did factor out a few
`DisplayDiagnosticConfig` constructor calls in Ruff. I also exposed the
`GithubRenderer` and a wrapper `DisplayGithubDiagnostics` type because
we needed a way to configure the program name displayed in the GitHub
diagnostics. This was previously hard-coded to `Ruff`:

<img width="675" height="247" alt="image"
src="https://github.com/user-attachments/assets/592da860-d2f5-4abd-bc5a-66071d742509"
/>

Another option would be to drop the program name in the output format,
but I think it can be helpful in workflows with multiple programs
emitting annotations (such as Ruff and ty!)

## Test Plan

New CLI test, and a manual test with `--config 'terminal.output-format =
"github"'`
2025-09-17 09:50:25 -04:00
..
config_option.rs [ty] Allow overriding rules for specific files (#18648) 2025-06-15 14:27:39 +01:00
exit_code.rs [ty] Split CLI tests into multiple files (#18537) 2025-06-07 16:43:28 +00:00
file_selection.rs [ty] resolve file symlinks in src walk (#19674) 2025-08-01 22:52:04 +02:00
main.rs [ty] Add GitHub output format (#20358) 2025-09-17 09:50:25 -04:00
python_environment.rs [ty] Include python folder in environment.root if it exists (#20263) 2025-09-05 13:53:48 +02:00
rule_selection.rs [ty] Add search paths info to unresolved import diagnostics (#20040) 2025-08-26 11:01:16 -04:00