-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
llbuild: Prevent reported build tasks count from decreasing #7329
base: main
Are you sure you want to change the base?
Conversation
Currently SwiftPM will reduce the total number of jobs in the CLI output if llbuild determines a task does not need to be run. This results in confusing output to the user where as the build progresses the number of completed tasks strictly increases but the total can fluctuate. This commit updates the task counting logic to consider "up to date" build operations as complete instead of reducing the total count leading to clearer progress output.
@swift-ci test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense, thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On a closer look, can we come up with a test case for this?
@swift-ci test linux |
The change doesn't seem to have corresponding test cases that verify the desired behavior.
Tree pruning is pretty common in build systems (e.g. make, ninja). I think that the more confusing (and frustrating) aspect is the increasing target counts. |
Thats fine, but the fact that the total count first increases then decreases is pretty poor/confusing user experience. We could add a "skipped" count (which I actually plan on doing in a future PR) but that would not be "ninja" style output |
@swift-ci test linux |
Currently SwiftPM will reduce the total number of jobs in the CLI output if llbuild determines a task does not need to be run. This results in confusing output to the user where as the build progresses the number of completed tasks strictly increases but the total can fluctuate. This commit updates the task counting logic to consider "up to date" build operations as complete instead of reducing the total count leading to clearer progress output.