Repository navigation
check: incremental checking for Python, C/C++ and every build tool - #513
Merged
Merged
Conversation
sem check now skips or narrows work in every language it supports, and the verdict always matches a full run. - Shared layer: a checker carries the base's passing verdict when nothing it reads changed (docs, CI config, or another language's sources). - Python: pyright rechecks only files whose imports can reach the change, with early cutoff for body edits in annotated functions; mypy carries. - pytest: reruns only test files that can load a change, keeping the other files' results. - C/C++: recompiles only compile_commands.json units that include a change. - Cargo, Gradle/Maven, dotnet and SwiftPM carry their verdict; configured commands carry when none of their `inputs` changed.
There was a problem hiding this comment.
inspect review
Triage: 112 entities analyzed | 0 critical, 0 high, 46 medium, 66 low
Verdict: standard_review
Findings (0)
Reviewed by inspect | Entity-level triage found 0 high-risk changes
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.
sem checknow skips or narrows work for every language it detects, and in every case we measured the verdict and errors match a full run.What changed
-fsyntax-only) only thecompile_commands.jsonunits that include a changed file.include_str!.inputschanged.When 70% or more of a large scope is affected, pyright runs in full instead, since one full run is faster.
Measured
zutil.hinflate.ceditNot covered yet
--fullafter regenerating them.foreignInputs: truefor a build that reads other languages' sources.Tests
16 unit tests and 14
check_clitests pass, including 4 new end-to-end tests for command inputs, cargo carry, C units and pytest selection.