-
-
Notifications
You must be signed in to change notification settings - Fork 985
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
BDN should not delete temporary build directories for failed builds #1566
Comments
It looks like this may've regressed, or BDN isn't sensing a failed build in my current scenario. I'm following the instructions from the dotnet/performance wiki to run benchmarks using a custom corerun, like this:
But the restore and publish fail with nonzero exit codes, and BDN doesn't seem to notice. As a result it doesn't keep the temporary build directories around so I can't manually reproduce and investigate the build failure since the folder(s) in question are gone:
After the run the folder in question doesn't exist. Is it expected that restores or publishes can fail with a nonzero exit code but benchmark runs will continue and succeed despite that? It seems to me that a failed restore/publish should probably halt the benchmark run (I had to set this tiny filter to even see that the restore/publish were failing, since they were getting scrolled out of the buffer by all the failed benchmark runs.) |
Thanks,
I've tried using DOTNET_ROOT to point it to a 10 SDK but it seems like that environment var doesn't work anymore? I haven't been able to find documentation on what to do here. I'm running BDN itself using the Anyway, thanks, it looks like that PR will fix it :) |
@kg could you please try specifying the path to dotnet (executable) via |
Right now the documentation for troubleshooting build failures has this as a first, required step:
And all the methods of doing this appear to require me to locate the benchmark in question and then modify its source code intrusively, which will get blown away if I revert my git checkout etc. Anyone else troubleshooting will also need to do this. Maybe I don't understand BDN well enough and there's some obvious way to feed
--keepfiles
through without modifying the code that calls BenchmarkSwitcher, like using a magic environment variable?Anyway, I think the default should be to keep the directory around, or at a minimum there should be an environment var you can set to produce this. In the first place, it says 'removed after benchmark is executed', but that isn't an accurate characterization of this behavior, since the benchmark never executed (due to the build failing). It took me a while to even figure out that my attempts at getting a binlog out of this were working, and that BDN was just deleting the logs. I can imagine some disk space usage issues if someone runs thousands of failed benchmark builds (and accumulates temporary output directories), but that seems like a corner case with multiple easy solutions.
The text was updated successfully, but these errors were encountered: