1#!/usr/bin/env bash 2 3set +e 4set -o xtrace 5 6# if we run this script outside of gitlab-ci for testing, ensure 7# we got meaningful variables 8CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(mktemp -d)/$CI_PROJECT_NAME} 9 10if [[ -e $CI_PROJECT_DIR/.git ]] 11then 12 echo "Repository already present, skip cache download" 13 exit 14fi 15 16TMP_DIR=$(mktemp -d) 17 18echo "$(date +"%F %T") Downloading archived master..." 19if ! /usr/bin/wget \ 20 -O "$TMP_DIR/$CI_PROJECT_NAME.tar.gz" \ 21 "https://${S3_HOST}/${S3_GITCACHE_BUCKET}/${FDO_UPSTREAM_REPO}/$CI_PROJECT_NAME.tar.gz"; 22then 23 echo "Repository cache not available" 24 exit 25fi 26 27set -e 28 29rm -rf "$CI_PROJECT_DIR" 30echo "$(date +"%F %T") Extracting tarball into '$CI_PROJECT_DIR'..." 31mkdir -p "$CI_PROJECT_DIR" 32tar xzf "$TMP_DIR/$CI_PROJECT_NAME.tar.gz" -C "$CI_PROJECT_DIR" 33rm -rf "$TMP_DIR" 34chmod a+w "$CI_PROJECT_DIR" 35 36echo "$(date +"%F %T") Git cache download done" 37