diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e0d8068d5d19f449e6e787b99a6520ea858f2468..a123c40a7e2b305084113e115c89b96ca2836576 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,10 +2,11 @@ image: docker:latest variables: + APT_CACHE_DIR: "${CI_PROJECT_DIR}/.cache/apt" DOCKER_DRIVER: overlay DOCKER_BRANCH: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME DOCKER_LATEST: $CI_REGISTRY_IMAGE:latest - PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip" + PIP_CACHE_DIR: "${CI_PROJECT_DIR}/.cache/pip" stages: - test @@ -40,13 +41,15 @@ before_script: MYSQL_DB: "${DJANGO_DB_NAME}" MYSQL_ROOT_PASSWORD: "${DJANGO_DB_PASSWORD}" before_script: + # create apt cache directory + - mkdir -pv ${APT_CACHE_DIR} # set python version - PYTHON_VERSION="${CI_JOB_NAME##*:}" - PYTHON_MAJOR="${PYTHON_VERSION:0:1}" - if [[ "${PYTHON_MAJOR}" -eq 2 ]]; then PYTHON="python"; else PYTHON="python3"; fi # install build requirements - apt-get -yqq update - - apt-get install -yqq + - apt-get -o dir::cache::archives="${APT_CACHE_DIR}" install -yqq git libmariadbclient-dev libldap2-dev @@ -56,7 +59,7 @@ before_script: swig ${PYTHON}-pip # install voeventlib for python2 - - if [[ "${PYTHON_MAJOR}" -eq 2 ]]; then apt-get install -yqq python-voeventlib; fi + - if [[ "${PYTHON_MAJOR}" -eq 2 ]]; then apt-get -o dir::cache::archives="${APT_CACHE_DIR}" install -yqq python-voeventlib; fi # install everything else from pip - ${PYTHON} -m pip install -r requirements.txt - ${PYTHON} -m pip install pytest-django pytest-cov @@ -75,8 +78,10 @@ before_script: reports: junit: junit.xml cache: + key: "${CI_JOB_NAME}" paths: - .cache/pip + - .cache/apt test:2.7: <<: *test