Cerbero CI on Windows
Deployment would happen on the same Docker-on-Windows setup as gst-build. Rough task list that I anticipate currently:
-
Ship MSYS/MinGW inside the Docker image - Download latest
mingw-get
: https://osdn.net/projects/mingw/releases/p15522 (current latest ismingw-get-0.6.3-mingw32-pre-20170905-1-bin.zip
) - Extract inside
C:\MinGW
- Install the necessary packages:
C:\MinGW\bin\mingw-get.exe install msys-base mingw32-base mingw-developer-toolkit
- After installation
C:\MinGW\bin\mingw-get.exe
can be used to update the installation withmingw-get update
andmingw-get upgrade
(this should be in the list of commands that run for each job)
- Download latest
-
Ship non-MSYS cerbero dependencies -
Figure out how to do unattended installs of other Cerbero deps on Windows -
Username must not have spaces -
Git (already in the image) -
Visual Studio Community 2017 or newer (already in the image) -
CMake - Download MSI (latest x64, no particular install path or version reqs), then run
msiexec -i c:/path/to/cmake-3.16.1-win64-x64.msi -quiet -norestart -log c:/path/to/install.log ADD_CMAKE_TO_PATH=System
-
Python -
WiX -
wix311.exe /install /quiet /norestart
(no special version reqs or install path reqs)
-
-
-
-
Write CI scripts for running Cerbero on Windows (!334 (merged)) -
Figure out how to run Cerbero in the MSYS environment when using Docker - Cerbero on Windows has to be run from inside the MSYS shell, which sets up the MSYS env for building Autotools recipes
-
C:\MinGW\msys\1.0\bin\sh.exe --login -c 'C:/path/to/cerbero-uninstalled [args]'
(needs cerbero!372 (merged))
-
-
Investigate how to use ccache for Autotools recipes (it's supposed to build and run just fine under mingw) -
There's also a ccache fork with support for MSVC: https://github.com/cristianadam/ccache/releases
-
Latest work by @alatiera is in https://gitlab.freedesktop.org/alatiera/gst-ci/-/commits/alatiera/cerbero-windows-attempt-4
Needs rebasing for the msys breakages, needs to override the pre-script because the linux docker images have a cache in the img
Edited by Jordan Petridіs