Speed up preflight with impacted lint and test selection#500
Open
morluto wants to merge 10 commits into
Open
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
The macOS 26 runner image ships SwiftFormat 0.61.1, and install_format_tools.sh skipped installation when the binary was already present. The .swiftformat disable list references rules introduced in 0.62.0 (wrapIfExpressionBodies, wrapIfStatementBodies, redundantSwiftUIGroup), so 0.61.1 errors with "Unknown rule" during style checks. Always run `brew install` followed by `brew upgrade` so CI gets the latest SwiftFormat that recognizes all configured rules. Apply the same treatment to SwiftLint for consistency.
eac4cbf to
6aaff05
Compare
…bility `mapfile` is a bash 4+ builtin and is not available in the macOS `/bin/bash` (3.2) that `make conductor-selftest` uses on hosted runners. Use a portable `while read` loop to sort and deduplicate changed Swift files so the changed-lint path works in the CI style job.
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.
Problem
Local
pr-readyvalidation performs repository-scale style and test work even for narrow changes. That increases feedback time and conductor contention, while simply skipping full validation would risk missing changes to shared configuration or test infrastructure.Approach
Select validation from staged, unstaged, and untracked files, but fall back to full-root validation whenever the affected boundary is broad or uncertain. Hosted CI remains comprehensive and unchanged.
Changes
Validation
python3 Scripts/test_swift_style.pypython3 Scripts/test_test_suite_optimizer.pypython3 Scripts/test_contribution_preflight.pymake guardrails