Commit Graph

37 Commits

Author SHA1 Message Date
3cfedc8a9a Revert "docker/windows: build two version of the rust image"
This reverts commit 3d9ddab209
2021-09-08 06:52:29 +00:00
3d9ddab209 docker/windows: build two version of the rust image
Build 2 images with different rust toolchains so we can test
both the latest release, as well as the minimum supported
compiler version and catch regressions.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405>
2021-09-08 04:47:36 +00:00
5c536f2601 docker/windows: build rust image in the ci
This makes it a bit harder to build an image locally with the script,
as now the rust image requires to pass it the base image tag as a
--build-arg. This way though we don't need to duplicate and keep
the string of the image in sync.

Another thing is that now the docker windows image build is properly
passing/replacing build args and we can build non-master versions
of the image too.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405>
2021-09-08 04:47:36 +00:00
9c21b05d1b docker/windows: create a rust image for gst-rs
Based on the build image for the existing windows jobs,
add an image with rust toolchain and a (stable) gstreamer
install for the bindings to build against.

See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405>
2021-09-08 04:47:36 +00:00
37c0ee7280 docker/windows: install vcredist140 explicitly
We depend on it for GStreamer builds and it was gettings pulled
transiently by python3 install.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405>
2021-09-08 04:47:36 +00:00
9c7a2df4a8 cerbero: Always fetch sources with four parallel jobs
The default number of parallel jobs is two, which is too few. We can
easily use four or more. Should speed up image builds and also
downloading of (new) sources that aren't already cached in the image.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/411>
2021-08-17 16:04:42 +05:30
bdbef0449c ci_template: build windows image in the ci
Build the images in the ci runners like we do,
for the linux containers.

Kudos to mesa for the powershell script that
reimplements the ci-templates behavior.

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4304

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/392>
2021-02-25 04:25:25 +02:00
8f0481f19a docker/windows: make the powershell scripts more robust
Check the exit codes of various commands and fail
appropriatly upon error.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/392>
2021-02-25 04:25:25 +02:00
2cd6f5f6b9 docker/windows: Update msys2 installer to 2021-02-15 version.
This fixes the PGP key installation issue.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/396>
2021-02-16 15:57:39 +02:00
a26129c78c windows: rebuild docker image
also:

Revert "citemplate: set the cerbero msvc build to allow_failure again"

This reverts commit 3dddfacfbf.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/359>
2020-10-01 11:51:19 +03:00
a22f4d85a3 docker/cerbero: Do not remove toolchain downloads
We will use these when running bootstrap in the actual jobs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/350>
2020-09-23 14:18:57 +05:30
98e3c7d8b8 cerbero ci: Refactor cerbero_before_script
We were doing a few things suboptimally:

1. Making a symlink from the current directory to
   ../../gstreamer/cerbero so that build-tools kept working, which
   should not be necessary since cerbero relocates all binaries inside
   the cerbero homedir after extracting the cache.

2. Hard-coding the cerbero builddir when building on Windows because
   `pwd` was outputting an MSYS-style path which Python can't read

3. rsync-ing all the contents of $CERBERO_HOST_DIR, which is
   bad because we should be building on top of the artifact cache.
   The only thing we want from $CERBERO_HOST_DIR is cerbero-sources
   (the network cache), and we can setup the toolchain during
   bootstrap with the new --system and --toolchains arguments which
   were split out of --system-only.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/350>
2020-09-22 21:58:59 +05:30
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
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
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
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
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
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
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
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
0320050e06 docker/windows: install cmake with choco as well 2020-01-29 17:39:46 +00:00
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
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
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
21df205069 docker/windows: Download and install MSYS for Cerbero 2020-01-29 17:39:46 +00:00
d8e87dc89a docker/windows: Install CMake for Cerbero 2020-01-29 17:39:46 +00:00
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
cfb15f47b8 docker/windows: Clarify some MSYS2 install steps 2020-01-29 17:39:46 +00:00
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
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
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
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
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
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
2fadd6e3d0 docker/windows: update the version of various deps we install 2019-11-26 17:42:14 +00:00
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
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