From a13863672daa0c753e623b4b88bbe40ff0ed90c0 Mon Sep 17 00:00:00 2001 From: Sergey Kosukhin <sergey.kosukhin@mpimet.mpg.de> Date: Wed, 15 Jan 2025 18:19:21 +0100 Subject: [PATCH] ci: extract the pre-commit caching to a hidden job --- .gitlab-ci.yml | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 52b2eba..5cd7692 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,6 +25,30 @@ workflow: variables: CI_GITIGNORE_DIR: ${CI_PROJECT_DIR}/.ci_dir +.common_pre_commit: + extends: .ci_dir + variables: + APK_CACHE_DIR: ${CI_GITIGNORE_DIR}/apk-cache + PRE_COMMIT_HOME: ${CI_GITIGNORE_DIR}/pre-commit + CACHE_POLICY: pull + before_script: + - mkdir -p "${APK_CACHE_DIR}" + - apk update --cache-dir "${APK_CACHE_DIR}" + - apk add --cache-dir "${APK_CACHE_DIR}" git pre-commit + tags: + - alpine + cache: + - key: ${CI_COMMIT_REF_SLUG} + paths: + - ${APK_CACHE_DIR} + policy: ${CACHE_POLICY} + - key: + files: + - .pre-commit-config.yaml + paths: + - ${PRE_COMMIT_HOME} + policy: ${CACHE_POLICY} + Check licenses: before_script: - python -m pip install --upgrade pip @@ -41,32 +65,16 @@ Check licenses: interruptible: true Check style: - extends: .ci_dir + extends: .common_pre_commit variables: - APK_CACHE_DIR: ${CI_GITIGNORE_DIR}/apk-cache - PRE_COMMIT_HOME: ${CI_GITIGNORE_DIR}/pre-commit - before_script: - - mkdir -p "${APK_CACHE_DIR}" - - apk update --cache-dir "${APK_CACHE_DIR}" - - apk add --cache-dir "${APK_CACHE_DIR}" git pre-commit + CACHE_POLICY: pull-push script: - pre-commit run --show-diff-on-failure --color=always --all-files - tags: - - alpine rules: - if: $CI_PIPELINE_SOURCE == "web" when: manual - when: always interruptible: true - cache: - - key: ${CI_COMMIT_REF_SLUG} - paths: - - ${APK_CACHE_DIR} - - key: - files: - - .pre-commit-config.yaml - paths: - - ${PRE_COMMIT_HOME} include: - project: "anw_dienste/ci-templates" -- GitLab