From a12955236f4f2a0f1a44ecd536c8b2fc9c695bb0 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Sat, 16 Mar 2024 19:08:22 -0300 Subject: [PATCH] feature: Store CCACHE cache in CI cache --- .ci/scripts/linux/docker.sh | 2 ++ .gitlab-ci.yml | 61 +++++++++++++++++++++++++++++++++++-- 2 files changed, 61 insertions(+), 2 deletions(-) diff --git a/.ci/scripts/linux/docker.sh b/.ci/scripts/linux/docker.sh index c6b6590db2..8e80878434 100755 --- a/.ci/scripts/linux/docker.sh +++ b/.ci/scripts/linux/docker.sh @@ -11,6 +11,8 @@ ccache -s mkdir build || true && cd build cmake .. \ -DBoost_USE_STATIC_LIBS=ON \ + -DSUYU_USE_PRECOMPILED_HEADERS=OFF \ + -DDYNARMIC_USE_PRECOMPILED_HEADERS=OFF \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_CXX_FLAGS="-march=x86-64-v2" \ -DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++ \ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 353d56b6fd..0a251e87b9 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,64 @@ stages: + - format - build +variables: + # https://docs.gitlab.com/ee/ci/runners/configure_runners.html + TRANSFER_METER_FREQUENCY: "2s" + ARTIFACT_COMPRESSION_LEVEL: "fast" + CACHE_COMPRESSION_LEVEL: "fastest" + CACHE_REQUEST_TIMEOUT: 5 + # Use FASTZIP for faster compression in cache and artifacts + # https://docs.gitlab.com/runner/configuration/feature-flags.html#available-feature-flags + FF_USE_FASTZIP: true + + # Our Variables + CACHE_DIR: "$CI_PROJECT_DIR/ccache" + CCACHE_DIR: $CACHE_DIR + + +#CLANG FORMAT - CHECKS CODE FOR FORMATTING ISSUES +clang-format: + stage: format + image: suyuemu/cibuild:clangformat + #THIS HAS TO BE FALSE. IT KEEPS RESOURCES AVAILABLE - EG RUNNERS WONT TRY BUILDING IF CODEBASE IS WRONG + #MR's NEED TO BE CORRECTLY CLANG FORMATTED + allow_failure: false + script: + - git submodule update --init --depth 1 --recursive + - bash .ci/scripts/format/script.sh + tags: + # - Linux + # - Windows + - Parallelized + +#LINUX BUILD - BUILDS LINUX APPIMAGE +build-linux: + stage: build + image: suyuemu/cibuild:linux-x64 + resource_group: linux-ci + cache: + key: "$CI_COMMIT_REF_NAME-ccache" + paths: + - $CACHE_DIR + before_script: + - mkdir -p $CACHE_DIR + - chmod -R 777 $CACHE_DIR + - ls -la $CACHE_DIR + variables: + GIT_SUBMODULE_STRATEGY: recursive + GIT_SUBMODULE_DEPTH: 1 + RELEASE_NAME: mainline + script: + - bash .ci/scripts/linux/docker.sh + - bash .ci/scripts/linux/upload.sh + artifacts: + paths: + - artifacts/* + tags: + - Linux + - Parallelized + #ANDROID BUILD - BUILDS APK android: stage: build @@ -21,5 +79,4 @@ android: tags: - Linux - Parallelized - - Testing - - Fijxu +