Skip to content

Add more flaky files to exception list in CI - #41235

Open
tobiasdiez wants to merge 9 commits into
sagemath:developfrom
tobiasdiez:add-flaky
Open

Add more flaky files to exception list in CI#41235
tobiasdiez wants to merge 9 commits into
sagemath:developfrom
tobiasdiez:add-flaky

Conversation

@tobiasdiez

Copy link
Copy Markdown
Contributor

Add all flaky tests tracked at https://github.com/orgs/sagemath/projects/1 to the list in CI, so that those get automatically rerun in case of (random) failure.

📝 Checklist

  • The title is concise and informative.
  • The description explains in detail what this PR is about.
  • 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

@user202729

Copy link
Copy Markdown
Contributor

this mechanism is too coarse-grained (it retries the whole set of files instead of just the one flaky test), but adding per-test flaky marker takes some work...

#39539

I don't like having two separate lists (one for the mapping, the other for the files) though. Ideas?

@user202729

Copy link
Copy Markdown
Contributor

actually there's an "easy" solution for per-test flaky that doesn't sacrifice other tests in the same file: add # not tested (flaky) to each of these tests, then add a separate file that retries as needed.

As I mentioned, most of these tests only cause a Python-handle-able error on failure.

@github-actions

github-actions Bot commented Dec 19, 2025

Copy link
Copy Markdown

Documentation preview for this PR (built with commit 3629d52; changes) is ready! 🎉
This preview will update shortly after each push to this PR.

@tobiasdiez
tobiasdiez requested review from dimpase and orlitzky May 1, 2026 09:58
@tobiasdiez

Copy link
Copy Markdown
Contributor Author

this mechanism is too coarse-grained (it retries the whole set of files instead of just the one flaky test), but adding per-test flaky marker takes some work...

Perhaps, but on the other hand we sometimes don't even know what exact doctest is triggering the flaky behavior (or there might be more than one tests in a file that triggers it). Once we have more refined tools, we can easily remove those file-based retries again.

I don't like having two separate lists (one for the mapping, the other for the files) though. Ideas?

Me neither, but that was the best I could do given the limitations of the gh actions yml format (it doesn't accept comments in lists).

@orlitzky

orlitzky commented May 1, 2026

Copy link
Copy Markdown
Contributor

Some of these are outdated, @cxzhong has been working to fix them, e.g.

@tobiasdiez

Copy link
Copy Markdown
Contributor Author

Some of these are outdated, @cxzhong has been working to fix them, e.g.

* matrix_gap.pyx - [Fix flaky SIGSEGV in GapElement.__copy__ and deepcopy #41949](https://github.com/sagemath/sage/pull/41949)

* plural.pyx - [Defer lib("freegb.lib") from module-level to point of use #41883](https://github.com/sagemath/sage/pull/41883)

* matrix_integer_dense.pyx (soon) - [Improve determinant calculation reliable method #42086](https://github.com/sagemath/sage/pull/42086)

Thanks, this list was indeed quite outdated. Synced it now again with https://github.com/orgs/sagemath/projects/1/views/1.

@orlitzky

Copy link
Copy Markdown
Contributor

One less to worry about: #42395

@orlitzky

Copy link
Copy Markdown
Contributor

And #41008 was fixed by the switch to HiGHS as the default MILP solver.

@orlitzky

Copy link
Copy Markdown
Contributor

Another one down in #42400

@orlitzky

Copy link
Copy Markdown
Contributor

The project https://github.com/orgs/sagemath/projects/1 is marked private so links to it may not work (if the user is not logged in to github). Is that something you can change, or do we have to ask the admins?

@dimpase

dimpase commented Jun 19, 2026

Copy link
Copy Markdown
Member

although I do seem to have access to project's setting, there is no private/public switch there.
@saraedum @roed314 - can you do something with it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants