Note that this code is executed on the generic FDo gitlab runners, not in our docker images. This change is merely to avoid the confusion that lead to the code in the previous commit. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34684>
37 lines
978 B
Bash
37 lines
978 B
Bash
#!/usr/bin/env bash
|
|
|
|
set +e
|
|
set -o xtrace
|
|
|
|
# if we run this script outside of gitlab-ci for testing, ensure
|
|
# we got meaningful variables
|
|
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(mktemp -d)/$CI_PROJECT_NAME}
|
|
|
|
if [[ -e $CI_PROJECT_DIR/.git ]]
|
|
then
|
|
echo "Repository already present, skip cache download"
|
|
exit
|
|
fi
|
|
|
|
TMP_DIR=$(mktemp -d)
|
|
|
|
echo "$(date +"%F %T") Downloading archived master..."
|
|
if ! curl --location --fail --retry-connrefused --retry 3 --retry-delay 10 \
|
|
--output "$TMP_DIR/$CI_PROJECT_NAME.tar.gz" \
|
|
"https://${S3_HOST}/${S3_GITCACHE_BUCKET}/${FDO_UPSTREAM_REPO}/$CI_PROJECT_NAME.tar.gz";
|
|
then
|
|
echo "Repository cache not available"
|
|
exit
|
|
fi
|
|
|
|
set -e
|
|
|
|
rm -rf "$CI_PROJECT_DIR"
|
|
echo "$(date +"%F %T") Extracting tarball into '$CI_PROJECT_DIR'..."
|
|
mkdir -p "$CI_PROJECT_DIR"
|
|
tar xzf "$TMP_DIR/$CI_PROJECT_NAME.tar.gz" -C "$CI_PROJECT_DIR"
|
|
rm -rf "$TMP_DIR"
|
|
chmod a+w "$CI_PROJECT_DIR"
|
|
|
|
echo "$(date +"%F %T") Git cache download done"
|