| #!/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 ! /usr/bin/wget \ | |
| -O "$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" |