-
Notifications
You must be signed in to change notification settings - Fork 26
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
Error enum values not propagated as exit codes for benchmark comparison in CI. #235
Comments
Ah well I just saw that this has already an open issue upstream , if I correctly understand that this is the same problem. |
Yeah, it's the same issue. It's possible to work around by running the benchmark tool directly without swiftpm - running the benchmark with --debug you can see the actual command line required to drive the benchmark tool and instead run that in ci, the you should get the correct error code surfaced. |
Is this also reflected in the docs? I could not find anything of the sort and was going entirely by the 0/2/4 exit codes for |
Thanks for the report, unfortunately away for a couple of weeks and won't have time to check on this until then, sorry for delay. |
No worries! Also thank you for pointing out the workaround |
From the docs:
But, this does not seem to be the case; this is what I saw.
The return code for improvement is 1, and from the docs I expected it to be 4 in the CI.
I see that the error enum's value is defined as 4 here, and it is thrown from
performCommand
.I suspect that
performCommand
's caller might not be callingexit
with the error enum's raw value as done here.This seems to be happening in the example benchmark comparison run. I couldn't completely trace the call across library boundaries. Is this a bug or am I missing something?
Environment
The text was updated successfully, but these errors were encountered: