-
Notifications
You must be signed in to change notification settings - Fork 14
Move the Windows "nightlies" over to this system? #3
Comments
I think this might be running on the same machine I am using, but otherwise - sure, sounds good. I actually just reset things a couple hours ago on the build system - the linux julia build was broken so it couldn't do the uploads. |
For Ubuntu 14.04 in Docker, I was doing this:
Although due to some strange Docker-Wine interaction, building the Julia sysimg would only work from a privileged interactive Docker session. Most VM-based systems seem fine though. Equivalent setup steps for openSUSE 13.1:
|
I'm all for this, and cross-compilation will be easy. Do we want to try native compilation, or is cross-compilation still the best way to go forward? I have scripts for creating boxes suitable for building Julia in the julia-vagrant repository (currently only Linux and OSX, I've been thinking of trying to use the Modern IE VMs Microsoft provides for windows), and I think the first way to move forward on this is to just generate a buildslave with these packages added and see how it goes with cross-compiling. |
Native compilation will be slower and a bit more difficult to script, but has the advantage of being able to run the tests. As long as failures get flagged somewhere, that would be huge. Does vagrant have tools for scripting setup of Windows VM's? Presumably in Powershell? |
That's right. You can read about it here. Getting CentOS building RPMs is next on my list, but if you are impatient, feel free to experiment with the windows side of things. :) |
Yeah, googled for and read that right after posting. Looks like the vagrant package in Ubuntu 14.04 is a little too old, I'll have to install it from the deb instead. |
Yes, vagrant and |
Gotcha. I can figure out packer at some point. Amazingly https://vagrantcloud.com/ferventcoder/boxes/win7pro-x64-nocm-lite actually seems to work, with an up-to-date version of vagrant. Seems to need I would lean towards using Chocolatey to install Cygwin and build from there, technically also a cross-compile but can run the tests just fine. I don't see MSYS2 in Chocolatey and the MinGW setup process tends to be a few more manual steps with MSYS2 than it is using |
Slowly figuring out how vagrant provisioning works. I think a powershell script should be good enough here, I can't figure out what we would need packer for if we already have access to a Windows Vagrant box that works. Although I'm not sure how the licenses work... https://github.com/ferventcoder/vagrant-windows-puppet The single most important line in the Vagrantfile that makes shell provisioning work for Windows guests is |
Man, when I said "Native compilation will be slower," I didn't realize it would be continental-drift slow. It's taking about a day to build all the dependencies inside a Windows VM, and still going. I have a lot more sympathy now for Appveyor with all the performance and timing-out issues we had there. Windows on bare metal is already pretty slow, but inside a VM it's just awful. |
How much control do you have over the VM - can you turn off the services I On Sat, Sep 20, 2014 at 4:00 AM, Tony Kelman [email protected]
|
Good question. If I can figure out how to do so via powershell, it's worth trying. This box is also apparently single core, which doesn't help. Not sure whether that's fixable without rolling a new vagrant box from scratch. |
You can edit the vagrant config to set the number of cores and memory.
|
Oh. Well now I feel kinda dumb for letting it go for 20-odd hours. It even managed to crash vagrant at one point, possibly because the logs were too long? This is also running on an old machine that only has 2 cores. Anyway, it did finally finish building the dependencies, but as soon as it tries to start bootstrapping the sysimg, I get
I'm not sure what that's about, but my guess is it has something to do with the "Unnecessary services are shut off." I'm trying |
@ferventcoder do you have any recommendations about enabling whichever service provider socket is complaining about in Windows-guest Vagrant boxes? I tried adding |
@tkelman you are using the windows 7 box? It is a lited box, which means YMMV. But it also means that some services are not just disabled, they've been ripped out of the ISO and subsequent install to keep the size down. I'd suggest looking at boxes over here: https://vagrantcloud.com/opentable - they have one or two images up :) |
I haven't run into issues with slowness. Here's what I do with VMs that keep them going really fast (at least from a Vagrant point of view): https://github.com/ferventcoder/vagrant-windows-puppet/blob/master/boxes/VagrantWindows.rb#L9-L12 |
One thing about slowness. Do not use host shared folders if you are looking for some speed (especially with lots of reads/writes, like compiling would do). Prefer to clone things to local folders with a small depth (as in |
@ferventcoder thanks so much for the input! I'll see if your pointers help get things running any better. |
I was able to get the opentable win2012r2 box to run (needed some manual password policy tweaking to work properly), but it's having issues with network connectivity. It can download and install chocolatey fine via |
It seems like we can close this as soon as the builders run the tests. Jameson just fixed the only failing test on master, and I have an idea that might fix the failing test on release-0.3. |
Looks like Jameson's fixes went through. I ran the tests on my VMWare windows box on my MBP, and everything checked out, so it looks like things might be good here. The last step before I close this is to automatically sign the executables. I did that manually for the 0.3.3 release, I'll write up a little script to do it automatically from here on out. |
Automatic signing looks like it's working now. Yipee! |
Are the buildbots running the tests yet? If no, can they? |
I've re-enabled testing in 9a99204 |
Apparently that didn't work so well, which makes me sad.
I am going to have to start using the term |
Hah. Well, at least it's a new one. I'm thinking this might be a buildbot-related thing. The tests, when run manually via |
Also cc @ihnorton - something seems wrong or in need of manual intervention with the cross-compiled Windows binaries, whereas this new buildbot system looks like it's been building bottles and OSX nightlies pretty reliably. I was experimenting with making Docker images with all the cross-compiling dependencies recently, so I can help translate those into the format used here (mostly Vagrant?). Cross-compilation is doable from Ubuntu 14.04 if you use a PPA I made for the right configuration of MinGW cross-compiler, or from openSUSE, or possibly from Arch but I think the MinGW package there is already on 4.9 which might break binary compatibility with everyone's packages on Windows.
The text was updated successfully, but these errors were encountered: