ci: add informational ty type-check job (config-only replacement for #15174) - #15179
Closed
priya-sundaram-dev wants to merge 2 commits into
Closed
ci: add informational ty type-check job (config-only replacement for #15174)#15179priya-sundaram-dev wants to merge 2 commits into
priya-sundaram-dev wants to merge 2 commits into
Conversation
Closing this pull request as invalid@priya-sundaram-dev, this pull request is being closed as none of the checkboxes have been marked. It is important that you go through the checklist and mark the ones relevant to this pull request. Please read the Contributing guidelines. If you're facing any problem on how to mark a checkbox, please read the following instructions:
NOTE: Only |
This was referenced Sep 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Config-only replacement for #15174, per @cclauss's request there. It wires
tyinto CI without the ~280-filefrom __future__churn or any source edits, so the type-checker can start reporting findings immediately and get tightened gradually.What this changes (2 files, config only):
.github/workflows/ty.yml— a new, standalonetyjob. It is deliberatelycontinue-on-error: true(informational), so it can never turn a required check red while the baseline is still noisy. It runs the type check on a regular (GIL) 3.14 interpreter (uv sync --python 3.14), which is the key fix for pre-commit: Add ty for Python type hints #15174: that PR'stystep ran inside the free-threaded 3.14t test venv, where several third-party stubs don't resolve — sotyfell back to defaults and reported ~45 errors, 42 of them on rules that a project config would have ignored.tyis also pinned (--with=ty==0.0.78, matching thety-pre-commitrev in pre-commit: Add ty for Python type hints #15174) for reproducibility.pyproject.toml— a minimal[tool.ty.environment]withpython-version = "3.14", soty's assumptions match that CI job. No rule ignores are invented here; the informational run surfaces the real findings first, and those get triaged into[tool.ty.rules]from actual output rather than guesses.Why not touch the existing
ruffworkflow / rename it: keepingruffuntouched means no change to the required-check name (branch protection), and the new job stays cleanly separable.Suggested path to a gate: land this informational; triage the reported diagnostics into
[tool.ty.rules]a family at a time (the same gradual-un-ignore model I use on my own project); flipcontinue-on-errortofalseonce the baseline is clean. Thefrom __future__cleanup from #15174, if still wanted, is orthogonal and can be its own PR so config lands fast and doesn't force a 280-file re-review.I don't have
ty+ free-threaded CI locally to run the full check, so I've kept this to the safe, verifiable wiring; this repo's CI will show the actualtyoutput on the (non-blocking) job. Happy to iterate on flags or the config in review.Checklist:
The type-hint / doctest / Wikipedia-URL items don't apply: this is a config-only CI change (
.github/workflows/ty.yml+[tool.ty]inpyproject.toml), not an algorithm.