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>
It's purely for informative reasons. `du` will fail on the sources dir
if a branch name has unicode in it due to an MSYS/MinGW bug. The long
term fix is to from MSYS/MinGW to MSYS/MinGW-W64 or MSYS2/MinGW-W64.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/395>
Sometimes the git repo cached on the docker image gets corrupted on
Windows, in which case there is no way to clean things and resolve
that error. For example: https://gitlab.freedesktop.org/bilboed/gst-plugins-bad/-/jobs/5517037
```
++ cp -a C:/cerbero/.git .
cp: cannot create regular file `./.git/objects/pack/pack-cbdde9dc4dd07bff6761e6715e20d7c0abe62b9e.idx': Permission denied
cp: cannot create regular file `./.git/objects/pack/pack-cbdde9dc4dd07bff6761e6715e20d7c0abe62b9e.pack': Permission denied
```
Always delete the cached git repo and copy a pristine copy from the
image. This will also avoid accumulation of garbage in the git repo.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/376>
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>
Its hard to manage ever growing bash scripts in yaml, and
its even harder to run them locally to reproduce the environment.
This is essentially a copy-paste of the scripts, to make review
easier. We can refactor later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/329>