-
-
Notifications
You must be signed in to change notification settings - Fork 553
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
Add GitHub Actions workflow for testing the build on various Linux distributions via docker; macOS with homebrew; and Windows (cygwin) #29087
Comments
Dependencies: #29053 |
comment:2
I am all for more CI, but would it not make more sense to add this to the existing GitLab CI? |
Last 10 new commits:
|
Commit: |
This comment has been minimized.
This comment has been minimized.
Author: Matthias Koeppe |
comment:5
Replying to @saraedum:
Fine with me too. I have built this on top of tox and docker. It can also run locally. The GitHub-specific part is really minimal - https://github.com/sagemath/sagetrac-mirror/commits/6a2bf3d2140e2d625d4ca96a40485b74fa582e7a |
Changed keywords from none to ContinuousIntegration |
comment:7
Personally, I like GitHub. I like GitLab a bit better because it is very easy to provision our own runners (e.g., for obscure platforms.) The problem with GitHub is that some people have quite a few reservations about it (lock-in, Microsoft, …) so I think GitLab is the better choice for such an extensive community. In any case, glad to see these things happen. Feel free to ping/bug me explicitly if you need reviews on anything docker/CI. |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:14
Replying to @saraedum:
Yes, I understand these concerns. To avoid lock-in, in this ticket the definition of the tests (for linux) is driven by tox and docker, rather than relying on the specific environments provided by a CI vendor. Likewise for the homebrew tests for macOS on this ticket. I don't have the time to work on another CI platform but would certainly welcome it if other CI enthusiasts wanted to implement a solution on another platform in a follow-up ticket.
Thanks. This ticket would be ready for review. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:70
how does one control the platforms the tests are run on? Often one needs to check on a couple of different OSs at most, and the current setup looks quite wasteful. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:74
Replying to @dimpase:
By editing the section called |
comment:75
https://github.com/mkoeppe/sage/runs/526226655:
docker build ends with "no space left on device" · Issue #18144 · moby/moby Error pulling image (...) no space left on device · Issue #10613 · moby/moby dockerd | Docker Documentation Configure and troubleshoot the Docker daemon | Docker Documentation |
Reviewer: Dima Pasechnik |
Changed reviewer from Dima Pasechnik to none |
comment:77
sysinfo at https://github.com/mkoeppe/sage/runs/526929826 |
Reviewer: Dima Pasechnik |
This comment has been minimized.
This comment has been minimized.
comment:80
this needs more documentation, I gather - on a followup ticket, something to be mentioned in README.md too. But this is good to go, I think. |
comment:81
Thanks! I've created #29401 - Add documentation |
comment:82
this needs a rebase. |
Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. New commits:
|
comment:84
Merged 9.1.beta9 |
Changed branch from u/mkoeppe/CI-gh-actions-tox-configure-build to |
This is a follow-up on #29053: Add debian/fedora/arch package information to build/pkgs, generate Dockerfiles and installation help
This ticket adds
.github/workflows/tox.yml
, which installs a number of system packages and then runs./bootstrap
,./configure
, andmake
.Most of the interesting parts are in #29053 - everything can be run "locally" (with tox and docker). This ticket only adds a simple additional file to run this automatically with several jobs on GitHub Actions on a GitHub pull request.
For each of the Linux distributions supported, there are two configurations:
minimal
- has enough packages so that the build can succeed;standard
- has additionally all standard packages for which we havespkg-configure.m4
.GitHub Actions runs these build jobs on 2-core machines with 7 GB of RAM memory and 14 GB of SSD disk space (https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners#supported-runners-and-hardware-resources), and has a time limit of 6h per job. This is just barely enough for a typical
minimal
build followed bymake ptest
to succeed; and plenty of time for a typicalstandard
build to succeed.Example run: https://github.com/mkoeppe/sage/actions/runs/60588138
Context:
Dockerfile
s and CI scripts for integration testing of source and binary distributions and of downstream packagesspkg-configure
: Try to use as many system packages as possibleDepends on #29367
CC: @dimpase @vbraun @saraedum @isuruf @antonio-rojas @kiwifb
Component: build
Keywords: ContinuousIntegration
Author: Matthias Koeppe
Branch/Commit:
cbcd657
Reviewer: Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/29087
The text was updated successfully, but these errors were encountered: