-
-
Notifications
You must be signed in to change notification settings - Fork 26k
CI Add summary about failures and errors in most builds #26847
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
Conversation
Is there an easy way to create (locally) the output with and without this PR? I tried to read about So in the end I was wondering if we can post the ps. I find navigating the CI output pretty tedious. It involves a lot of scrolling and skipping over "visual noise", so if this improves that, I'd be a happy man :D |
AFAIU You can also reset in this sense (a potential use case is if you get
With this PR you will get one line per failure or error, something like this at the end of the pytest output:
You can try locally passing Currently with main you don't get any summary info in most builds except one see this build for example and scroll to the bottom to see
I would agree but this PR is not going to help too much with this. Also at the same time it is nice to get all the details we can get to do some post-mortem stuff where you don't manage to reproduce locally. It may be worth spending some time to look at the doc to see if there is some pytest option where you can get a better trade-off to what we have now. |
Here is an example build where I find useful to have the summary. I can quickly see that the 6 failures have the same root cause (
The same build without the summary (as in The output looks like this (no summary):
Another build with 50+ failures and the same build without summary. Same thing you can quickly see there is a single root cause compared to scrolling to look at 50+ tracebacks, this is a huge time saver. |
Thanks for the examples. Fine with me/I think this makes thinks easier to read and get an overview. |
azure-pipelines.yml
Outdated
@@ -171,7 +171,7 @@ jobs: | |||
DISTRIB: 'conda' | |||
LOCK_FILE: './build_tools/azure/pylatest_conda_forge_mkl_linux-64_conda.lock' | |||
COVERAGE: 'true' | |||
SHOW_SHORT_SUMMARY: 'true' | |||
SHOW_LONG_SUMMARY: 'true' |
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.
@thomasjpfan do we really want to display skipped and xfailed/xpassed tests on this build? Why?
Personally I use the test results interactive report in the Azure pipelines web UI to get the list of skipped or xfailed tests.
I think I would be in favor of always hiding the summary of skipped/xfailed tests in CI logs.
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.
I'm okay with removing this option all together.
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.
LGTM. I think we could even always hide the skipped/xfailed tests on all CI configs as commented here: https://github.com/scikit-learn/scikit-learn/pull/26847/files#r1266811477
I did a little bit of archeology:
In the end, unless someone says that he finds it useful from time to look at skipped and xfailed tests in the CI, I would go for simplicity and remove the special build with the long summary. |
As mentioned by Olivier you can see skipped tests from Azure UI ("Tests" tab) if you select "Others", e.g. on this page I don't think there is an easy way to search for skipped vs xfailed but oh well ... |
I am okay with this to simplify the CI. |
Done, I believe this can be merged now |
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.
LGTM
I would find it very useful to have the default pytest summary for failures and errors. This allows to go to the end of the CI log and have at a quick glance an idea where things are broken and whether the same root cause is causing all the errors (although the limit is width is not that helpful sometimes oh well ...). Right now if I want to have an idea of which test are broken, I tend to look
test_
in the CI log which is not very efficient given CI log verbosity.Maybe I am biased because I have looked at broken scipy-dev builds recently, where there are 100+ errors currently. I think it would be useful generally speaking.
The
-rN
was added in #21554, I guess because-ra
was too long which makes sense but having "errors + failures" feels like a better default.I also renamed SHOW_SHORT_SUMMARY => SHOW_LONG_SUMMARY, since
-ra
is all except passed and is a lot more than the default summary "errors + failures"