gitlab/cerbero: Don't fail when there's no macOS cache
authorNirbheek Chauhan <nirbheek@centricular.com>
Thu, 18 Feb 2021 09:19:41 +0000 (14:49 +0530)
committerNirbheek Chauhan <nirbheek@centricular.com>
Thu, 18 Feb 2021 09:22:32 +0000 (14:52 +0530)
`test -d "${CERBERO_HOME}/dist/${ARCH}"` will cause the build to error
out if the dist dir doesn't exist, which will happen if there's no
cache, for example:
https://gitlab.freedesktop.org/seungha.yang/gst-plugins-bad/-/jobs/7405565

What we actually want to do, is to not perform the rsync if there's no
cache, since it means we want to rebuild from scratch; for instance,
if the current MR uses a custom cerbero branch of the same name which
won't have a prebuilt cache.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/398>

gitlab/cerbero_setup.sh

index 4fd7cea..fbf164f 100644 (file)
@@ -126,8 +126,7 @@ cerbero_script() {
 
     $CERBERO $CERBERO_ARGS fetch-cache --branch "${GST_UPSTREAM_BRANCH}"
 
-    if [[ -n ${CERBERO_OVERRIDDEN_DIST_DIR} ]]; then
-        test -d "${CERBERO_HOME}/dist/${ARCH}"
+    if [[ -n ${CERBERO_OVERRIDDEN_DIST_DIR} && -d "${CERBERO_HOME}/dist/${ARCH}" ]]; then
         mkdir -p "${CERBERO_OVERRIDDEN_DIST_DIR}"
         time rsync -aH "${CERBERO_HOME}/dist/${ARCH}/" "${CERBERO_OVERRIDDEN_DIST_DIR}"
     fi