Commit graph

25 commits

Author SHA1 Message Date
Jordan Petridis
b857a5ada1 citemplate: add initial cerbero msvc builds
This commit adds the last bits needed to have a working
CI job of cerbero using mingw and msvc17 toolchain.

It adds a new stage to the docker image that mirrors
the setup of the cerbero fedora docker build, and
tweaks the cerbero_setup script run by jobs with
a couple windows specific fixes.

Close #39

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/334>
2020-09-16 20:56:14 +03:00
Jordan Petridis
894e72ee87 docker/windows: move the git user config outside the script
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/333>
2020-09-14 17:36:54 +00:00
Jordan Petridis
800c46e67c docker/windows: tweak installation of git
Make sure we set autocrlf to false, which is needed by cerbero.
Additionally remove useless for the container integrations with
the shell.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/333>
2020-09-14 17:36:54 +00:00
Jordan Petridis
869fa72595 docker/windows: update msys snapshot
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/297>
2020-06-16 01:54:02 +05:30
Jordan Petridis
b8fa6db873 docker/windows: add script to build the image with the correct branch and tag
also move the default_branch arg later in the dockerfile to
avoid invalidating previous layers

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/287>
2020-04-27 15:49:32 +00:00
Jordan Petridis
edac99f441 windows/docker: allow to specify the branch to pull for gst-build
Similar to !232

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/285>
2020-04-27 08:03:54 +00:00
Jordan Petridis
ae1b75b51f
windows: switch the image tag to ltsc2019
This should have no functional difference as 1809 is an alias
to ltsc2019 but it makes it more explicit that what branch we
are tracking
2020-04-07 14:45:08 +03:00
Jordan Petridis
23f303eb94 docker/windows: work around a python ssl issue
Python fails to validate github.com SSL certificate, unless we first
run a dummy download to force refreshing Windows' CA database.
See: https://bugs.python.org/issue36137

Adapted from patches by Xavier Claessens!
2020-01-29 17:39:46 +00:00
Jordan Petridis
0320050e06 docker/windows: install cmake with choco as well 2020-01-29 17:39:46 +00:00
Jordan Petridis
6fb7b6744c docker/windows: copy the install scripts just before running them
This results into more docker layers, but it avoid invalidating
the previous layers when changing anything in the script, making
build times faster.

Adapted from patches by Xavier Claessens!
2020-01-29 17:39:46 +00:00
Jordan Petridis
df6ebdeaaf docker/windows: install git, gitlfs, 7zip and python3 with choco
Move them into a seperate script to avoid needing to refresh the
env, and make it simpler.

Adapted from patches by Xavier Claessens!
2020-01-29 17:39:46 +00:00
Jordan Petridis
c0caae0722 docker/windows: use direct download links from mirrors
Else Invoke-WebRequest gets redirected and ends up downloading
html page. Possibly due to an unkown user-agent? who knows.
2020-01-29 17:39:46 +00:00
Nirbheek Chauhan
21df205069 docker/windows: Download and install MSYS for Cerbero 2020-01-29 17:39:46 +00:00
Nirbheek Chauhan
d8e87dc89a docker/windows: Install CMake for Cerbero 2020-01-29 17:39:46 +00:00
Nirbheek Chauhan
6267810f3a docker/windows: Fix 7zip extract command for MSYS2
-Wait is only needed for Start-Process. Also, explicitly extract the
tar file into C:\ -- don't assume the current directory is C:\
2020-01-29 17:39:46 +00:00
Nirbheek Chauhan
cfb15f47b8 docker/windows: Clarify some MSYS2 install steps 2020-01-29 17:39:46 +00:00
Nirbheek Chauhan
1ae8f6491f docker/windows: Update python, git, and MSYS2
The git update is particularly important because of security
vulnerabilities on Windows related to NTFS.
2020-01-29 17:39:46 +00:00
Nirbheek Chauhan
b722709cad docker/windows: Use load-balancing for sourceforge URLs
Instead of using a specific mirror, which may be slow or might
disappear.
2020-01-29 17:39:46 +00:00
Nirbheek Chauhan
cec8de9054 docker/windows: Install Python to a path without spaces
This is needed for Cerbero since Autotools cannot handle paths to
binaries that have spaces in them.
2020-01-29 17:39:46 +00:00
Nirbheek Chauhan
ddf9f8962f docker/windows: Download Python installer as python3-installer
Having a binary called 'python3' anywhere that might accidentally end
up in PATH is asking for trouble.
2020-01-29 17:39:46 +00:00
Jordan Petridis
5c0ad2facd
ci_template: make sure powershell hard exists on errors
We set the env var as the shell of the image, but looks like
the gitlab runner is overriding that.
2019-12-05 00:59:34 +02:00
Jordan Petridis
b3aa9b5286
windows: Migrate to windows 1809 base
Rebuild the windows docker image against the current ltsc [1]
of server 2019. This requires moving some of the msys setup
to the runner job cause it causes docker build to hang

Switch the job tags so they now use the 1809 runner, instead
of 1607.

Tweak the PATHs in the msys job so bash doesn't complain about
slashes..

Lastly, increase the timeout of the windows jobs, as msys2
installs its deps at runtime

[1] https://docs.microsoft.com/en-us/windows-server/get-started-19/servicing-channels-19
2019-12-04 18:45:22 +02:00
Jordan Petridis
2fadd6e3d0 docker/windows: update the version of various deps we install 2019-11-26 17:42:14 +00:00
Jordan Petridis
072cf0122a docker/windows: refactorings to get it to work with the new runner
* Install git-lfs as its required now by gst-integration-suites
* Clone gst-build eache time to avoid dated gst-build checkouts
and overwritting .wrap files. Similar to !137
* Split the dockerfile and add a second run stage refresh the
powershell env inbetween calls
* Remove the msys2 workaround as its not needed anymore
2019-08-16 17:17:01 +00:00
Xavier Claessens
31cec0a245 Add Windows MSVC and MSYS2 builds
This adds 3 new jobs that build against msys2 x86_64, msvc 2017 x86
and msvc 2017 x86_64. For the msvc build, some subprojects (like libnice)
don't satisfy all their deps, and are getting automatically disabled.

This doesn't add jobs that run the test suite also. Will hopefully
get implemented later on.
2019-08-16 17:17:01 +00:00