prepopulate CARGO_HOME caches (#5505)

* test (ci): prepopulate caches with debug

* test (ci): error in path

* optimization (ci): CARGO_HOME cache prepopulation
This commit is contained in:
Denis Pisarev
2020-04-03 16:48:07 +02:00
committed by GitHub
parent 8f819f4ba6
commit 9dbcb11f66
+19 -1
View File
@@ -63,6 +63,24 @@ variables:
- rustup show - rustup show
- cargo --version - cargo --version
- sccache -s - sccache -s
# if there is no directory for this $CI_COMMIT_REF_NAME/$CI_JOB_NAME
# create such directory and
# copy recursively all the files from the newest dir which has $CI_JOB_NAME, if it exists
- |
if [[ ! -d $CARGO_HOME ]]; then
mkdir -p /ci-cache/${CI_PROJECT_NAME}/cargo/${CI_COMMIT_REF_NAME};
FRESH_CACHE=$(find /ci-cache/${CI_PROJECT_NAME}/cargo -mindepth 2 -maxdepth 2 \
-type d -name ${CI_JOB_NAME} -exec stat --printf="%Y\t%n\n" {} \; |sort -n -r |head -1 |cut -f2);
if [[ -d $FRESH_CACHE ]]; then
echo "____Using" "$FRESH_CACHE" "to prepopulate the cache____";
cp -r "${FRESH_CACHE}" "${CARGO_HOME}";
touch ${CARGO_HOME}/config;
else
echo "_____No such cargo dir, proceeding from scratch_____";
fi
else
echo "____No need to prepopulate the cache____";
fi
only: only:
- master - master
- /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1 - /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
@@ -78,7 +96,7 @@ variables:
dependencies: [] dependencies: []
interruptible: true interruptible: true
tags: tags:
- linux-docker - ci2
.build-only: &build-only .build-only: &build-only
only: only: