-
-
Notifications
You must be signed in to change notification settings - Fork 702
Introduce test failure baseline to the main CI check for PRs #39470
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
base: develop
Are you sure you want to change the base?
Conversation
|
Documentation preview for this PR (built with commit ec6fa93; changes) is ready! 🎉 |
|
So… generalization of Some considerations:
(thinking about it the classical build&test hard codes the random seed…? Isn't this counterproductive (hides randomness)? Maybe that's the actual reason why conda/meson seems to fail much more often than otherwise) |
Exactly. But I wonder if anyone (@tobiasdiez?) is maintaining it as I plan to do in #39471
Perhaps it is better to keep separate list for each testing environment: "build", "ci-conda", "ci-meson". Also separate maintenance PR for each of them, as #39471 is for "build".
The PR author fixing the test may leave a comment to the PR maintaining the list. If the test failure seems gone (either fixed by a PR or by some unknown reason), the entry should be deleted. We may add again whenever it reappears.
No idea. Maybe. Better to search for the pr that introduced it or the author. |
I'm not planning to add this for meson. The plan for meson is to move to pytest as the test runner, and pytest doesn't support such "baseline test failures".
No there is no such mechanism and this is the reason why the conda baseline is completely outdated. I'm not convinced that this is a good approach due to the following lessons that we learned from the conda baseline:
My vote would be to mark the failing tests with |
|
This is obvious, but for discussion, let me note that the purpose of the checks for PRs is to verify that the PR branch satisfies the basic requirements for merge, for authors and reviewers. Hence the results of the checks should depend only on the PR branch. As we all know, there are tests that (frequently) fail regardless of the PR branch. They betray the purpose of the checks on a PR. Let us restrict our attention to only ordinary PRs that modify the sage library. For such a PR, it should be enough to pass "build" checks. I think "conda" and "meson" checks are irrelevant.
For "build" checks, there would be a few entries in the baseline, and they will be updated "live" through #39471.
We don't know how the tests come to fail. There is not much to mention to users. Anyway the purpose of the checks is to take care of PRs. Caring the failing tests is not a concern here. The intention is to ignore them in CI checks.
Such a migration, if ever happens, should still solve the issue of chronic test failures in whatever way, if not by baseline.
A test with "known bug" should always fail. By the way, I guess that letting the chronic test failures in conda/meson environment fail PRs does not help us care or fix them. Then we should stop them from failing PRs. But this issue is out of the scope of the present PR. |
For what it's worth it's possible for pull request authors to forget to update meson-related files, thus make the meson build fail (while the normal build still pass) and the pull request being technically incorrect (though I agree that the random failure is highly annoying) |
sagemathgh-39664: Add some 'not tested' marks to avoid CI failure As in the title. I don't think there's any advantage in running the test again. There's only a very small risk of the fixer forget to delete the marker, but it seems like a nonexistent issue (whichever pull request that fix it should also remove the `# not tested`) At least for those that doesn't segmentation fault or hang. (For those who do the only solution I can think of is sagemath#39539 ) Side note: not sure what's a good solution to this. Maybe we can do sagemath#39470 instead? (but then it doesn't apply to meson…) ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#39664 Reported by: user202729 Reviewer(s):
sagemathgh-39664: Add some 'not tested' marks to avoid CI failure As in the title. I don't think there's any advantage in running the test again. There's only a very small risk of the fixer forget to delete the marker, but it seems like a nonexistent issue (whichever pull request that fix it should also remove the `# not tested`) At least for those that doesn't segmentation fault or hang. Side note: not sure what's a good solution to this. Maybe we can do sagemath#39470 instead? (but then it doesn't apply to meson…) ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#39664 Reported by: user202729 Reviewer(s):
As discussed in
https://groups.google.com/g/sage-devel/c/Vx_GkH3ita4
the main CI check for PRs frequently fails for issues whose solutions are unknown. This is degrading the quality of life for both author and reviewers alike.
There is already a mechanism to tackle this situation. We introduce "test failure baseline", explained in
https://doc-release--sagemath.netlify.app/html/en/developer/doctesting#auxiliary-files
to the CI check for PRs.
test: https://github.com/kwankyu/sage/actions/runs/13192916789/workflow
After this PR, the actual list of baseline test failures will be maintained in the eternal PR #39471 .
📝 Checklist
⌛ Dependencies