-
Notifications
You must be signed in to change notification settings - Fork 245
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
CI: Add portability and integration tests with Sage #1760
base: main
Are you sure you want to change the base?
Conversation
cc82dd5
to
eb35c62
Compare
How long does each run take? Also, if we would instantiate a new tag, the "damage" could already have been done months back with multiple commits in between. Tracking bugs and issues, and reverting commits with possible would be way harder in this case when the time of a new tag comes around. As such, this would preferably be run at least at every merge, but I suppose that this would take too long. Now, this is hopefully mostly important at the moment as we do have some change in the interface from 3.0 to the upcoming 3.1. Don't know if this would impact Sage. Other than that, this looks good! |
Each of the Linux runs is between 10 and 15 minutes, the macOS runs are 16 minutes. The integration testing with Sage probably around 1.5 hours. Currently fails trying to rebuild Singular - https://github.com/mkoeppe/flint2/actions/runs/7718792281/job/21040792339
Sure, that's something for the project to figure out. For the portability testing, it would would also be possible to only run a few selected platforms on each PR, but all platforms on tags. Or it could be configured as a cron job that runs it nightly or weekly. For the integration testing with Sage, we would be able to test some subset of the test suite instead of the whole test suite. I'll happy to help with adjusting the workflow file to implement the desired policy. |
Sounds good!
We will look into this before releasing 3.1. Thanks!
Seems like the best idea. I would prefer this.
This would be really good. Moreover, I don't think there is no need to test different OSs from our side as we have tests for different OSs already. |
For the failures on |
A failure: https://github.com/mkoeppe/flint2/actions/runs/7718792281/job/21040792473#step:14:6853
|
I don't see any specific reason to why this would fail. Looks like everything else works just fine. Moreover, I feel like this test is one of the last tests that would fail. I don't see anything compiler specific that could make this fail. But if I understand this correctly, it is Ubuntu 22 with Ubuntu 14 toolchain? Why would someone use this combination? |
76b93b4 just fixed an uninitialized variable in the fmpz_mod_mat tests which potentially might have been responsible for that segfault. |
No, this is Ubuntu 14 with a backport toolchain https://github.com/sagemath/sage/blob/develop/tox.ini#L213 from https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test |
Thanks for the clarification! |
70dc458
to
d0b189e
Compare
Looks like some of the tests are still failing: https://github.com/mkoeppe/flint2/actions/workflows/ci-sage.yml |
Rebased on main for another run. |
You need to trigger the run on your repo |
Thanks for the reminder, I got distra... |
...cted, running now at https://github.com/mkoeppe/flint2/actions/runs/8382682177 |
it looks like all checks have failed |
As promised in #1166 (comment) @albinahlback @edgarcosta, here's an updated GH Actions workflow for portability and integration testing using the reusable SageMath workflows.
Currently configured to:
Preview of the workflow run: https://github.com/mkoeppe/flint2/actions/workflows/ci-sage.yml