-
-
Notifications
You must be signed in to change notification settings - Fork 529
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
GitLab CI for Windows & OSX #25980
Comments
Dependencies: #24655 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:4
I have no idea about the legal issues w.r.t. using Windows VM snapshots for testing. I have a Windows 10 image I created for my own Windows VMs that comes installed with a valid(!) license provided by CNRS for all Windows 10 installs, so I don't know what the limits are, if any, to spinning up VMs that use that license. In any case I can easily set up a snapshot that already has Cygwin and SSH pre-configured. |
This comment has been minimized.
This comment has been minimized.
comment:6
I did not manage to build on cygwin in one go due to a I could not get High Sierra to work. I had manged to install it once but it was extremely slow. I am now trying with Sierra which seems much better so far. |
comment:7
Sage builds on Sierra running on QEMU on a Linux box. The build took 270 minutes on a dual core with 2GB RAM which sounds quite reasonable to me. |
This comment has been minimized.
This comment has been minimized.
comment:9
embray: Would you mind to comment on the timings in the ticket description? Is that roughly what you see on a native Windows system? |
comment:10
FWIW from my recent build from scratch for the 8.3 release (this is likely with some ccache seeding but probably not for everything):
This is with |
comment:11
Replying to @saraedum:
This is a bug I've seen sometimes but am not sure how to reproduce, where in fact there are still other packages building in the background, but |
comment:12
On my single core Windows virtual machine I get for
|
comment:13
embray, how does that compare to native? In any case, it seems very reasonable to me. If we would run eight of these somewhere that could be quite valuable. |
comment:14
Well, I'm running There are a number of tests--the ones you reported as failed being some of the common ones (such as |
Changed keywords from osx, windows, CI to osx, windows, ContinuousIntegration |
comment:16
outdated |
Developers currently don't have an easy way to test proposed changes on OSX & Windows if they do not have access to such machines themselves. Given the flakiness of the patchbot on Windows, it would be nice to provision GitLab CI infrastructure for these systems.
We can not use the docker setup unfortunately, as docker on Windows is not ready to run fork-heavy workloads (#25805) and docker on OSX does simply not exist.
The current idea would be to provide SSH runners on Linux machines tagged as
osx
&nt
that run QEMU/KVM. An incoming CI request would then take an LVM snapshot of an existing Windows/OSX machine, start a QEMU/KVM machine on it, and run its CI via SSH.CI on the "develop" branch would probably start from a clean OS snapshot and tag the resulting LVM volume to "develop" so the build artifacts can be reused by runs on other branches.
GitLab does not support libvirt officially but there is this runner that seems quite reasonable as a starting point.
Performance
OSX
Sage builds from scratch on QEMU on a dual core with 2GB RAM and a seeded ccache in 160 minutes. With
local/
intact from a previous build it rebuilds in seconds.Windows
Sage builds from scratch on QEMU on a single core with 1.5GB RAM and a seeded ccache in about 500 minutes.
With
local/
intact from a previous build it rebuilds in seconds.Legalities
OSX
Relevant seems to be 2.B of their license in particular
Now, the "already running" bit is weird because that means that we cannot use Linux as the base system?
This bit is the same for all the languages that I can read except for the German one which surprisingly omits the "already running":
So, it's Ok to run two instances of OSX virtualized on Apple Hardware. I could imagine that it would be Ok to run more than two if we used different versions of OSX and therefore got separate licenses but I am not an expert here.
Windows
Can we use the trial versions of Win10 for testing purposes? I guess not, but we should check.
Depends on #24655
CC: @embray @slel
Component: build
Keywords: osx, windows, ContinuousIntegration
Issue created by migration from https://trac.sagemath.org/ticket/25980
The text was updated successfully, but these errors were encountered: