Dirk Hohndel
2018-10-08 15:01:32 UTC
Salvador, everyone
I have switched the Windows test / build on Travis to a different model where I provide a docker image that has MXE pre-installed and that makes it easier to test things locally when encountering errors on Travis: simply run that same Docker image on your local machine.
The goal was to make sure that this is as easy as
sudo bash ./scripts/windows-container/before_install.sh
sudo bash ./scripts/windows-container/travisbuild.sh
This assumes that you have Docker installed and that you have a reasonably fast internet connection (as it downloads a ~2G docker image the first time you call it - after that it will have this cached locally).
The scripts end up creating a 'win32' folder in parallel to the Subsurface directory that you are in and also runs autoreconfig in the ./libdivecomputer directory in order to build things - all this runs as root, so it might be easier to simply keep a separate copy of your Subsurface sources for these Windows builds.
Under ../win32/subsurface you'll end up with a Subsurface Windows installer.
Right now I kept the old Windows environment on Travis as that is used to build smtk2ssrf - but I think it should be reasonably easy to integrate this with the container based solution that I have. Salvador, why does this have to be a static MXE build instead of a shared one? That duplicates a LOT of things and would make the MXE container significantly bigger...
And to everyone: this should allow you to build your own Windows installers for testing - and they should pretty much match what we ship to our users :-)
/D
I have switched the Windows test / build on Travis to a different model where I provide a docker image that has MXE pre-installed and that makes it easier to test things locally when encountering errors on Travis: simply run that same Docker image on your local machine.
The goal was to make sure that this is as easy as
sudo bash ./scripts/windows-container/before_install.sh
sudo bash ./scripts/windows-container/travisbuild.sh
This assumes that you have Docker installed and that you have a reasonably fast internet connection (as it downloads a ~2G docker image the first time you call it - after that it will have this cached locally).
The scripts end up creating a 'win32' folder in parallel to the Subsurface directory that you are in and also runs autoreconfig in the ./libdivecomputer directory in order to build things - all this runs as root, so it might be easier to simply keep a separate copy of your Subsurface sources for these Windows builds.
Under ../win32/subsurface you'll end up with a Subsurface Windows installer.
Right now I kept the old Windows environment on Travis as that is used to build smtk2ssrf - but I think it should be reasonably easy to integrate this with the container based solution that I have. Salvador, why does this have to be a static MXE build instead of a shared one? That duplicates a LOT of things and would make the MXE container significantly bigger...
And to everyone: this should allow you to build your own Windows installers for testing - and they should pretty much match what we ship to our users :-)
/D