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>
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>
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>
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>
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!
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!
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
* 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
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.