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>
Declare an docker build-arg [1] and use it
whenever cloning one of our repositories. If the buildarg
is not specified, the variable defaults back to 'master'
and thus the current behavior doesn't change.
From the .gitlab-ci.yml file, when building pass
the GST_UPSTREAM_BRANCH that's defined from the ci_template
as the buildarg so we will be building the corresponding branches
for the docker images.
Close#33
[1] https://docs.docker.com/engine/reference/builder/#arg
This is now an optional runtime dependency that cerbero can make use
of for doing runtime testing of the built binaries. Needed for
building a new image so that !227 can be merged.
Ohterwise the cerbero.cbc seems to take precendence on the localconf.cbc
during builds, which cause caching issues, since data does not get stored
at the right place.