From 031a36242bd4c1c3850b6d17854ea9e9f835e3a7 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 16 Nov 2025 14:17:24 +0100 Subject: [PATCH] Chore: Spare memory on CI --- .gitlab-ci.yml | 46 ++++++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 176b3dcc..03f4a636 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,22 +1,26 @@ image: rust:latest +# Use shallow clone to reduce checkout size +variables: + GIT_DEPTH: "1" + # Put cargo home and target under project dir so we can clean them easily + CARGO_HOME: "$CI_PROJECT_DIR/.cargo" + CARGO_TARGET_DIR: "$CI_PROJECT_DIR/ci-target" + GIT_SUBMODULE_STRATEGY: normal + +# Cache only cargo registries/git metadata to speed dependency fetches. +# Avoid caching compiled `target` artifacts which are large and easily fill disk. .rust_cache: &rust_cache cache: - # key: $CI_COMMIT_REF_SLUG + key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" paths: - # Don't include `incremental` to save space - # Debug - - target/debug/build/ - - target/debug/deps/ - - target/debug/.fingerprint/ - - target/debug/.cargo-lock - # Release - - target/release/build/ - - target/release/deps/ - - target/release/.fingerprint/ - - target/release/.cargo-lock + - .cargo/registry + - .cargo/git before_script: + - df -h + - echo "Cleaning stale targets to free space if present" + - rm -rf "$CI_PROJECT_DIR/target" "$CI_PROJECT_DIR/ci-target" || true - apt-get update -qq && apt-get install -y -qq libudev-dev libgtk-3-dev grep llvm clang libclang-dev libsdl2-dev libsdl2-gfx-dev stages: @@ -33,6 +37,9 @@ format: script: - rustup component add rustfmt || true - cargo fmt --check + after_script: + - du -sh "$CI_PROJECT_DIR/ci-target" || true + - rm -rf "$CI_PROJECT_DIR/ci-target" || true check: except: @@ -44,6 +51,8 @@ check: # deny currently catches too much #- cargo install cargo-deny && cargo deny - cargo install cargo-cranky && cargo cranky + after_script: + - rm -rf "$CI_PROJECT_DIR/ci-target" || true test: except: @@ -52,6 +61,8 @@ test: script: - mkdir -p .git/hooks > /dev/null - cargo test --locked --all + after_script: + - rm -rf "$CI_PROJECT_DIR/ci-target" || true release: only: @@ -64,6 +75,9 @@ release: paths: - vendor_asusctl*.tar.xz - cargo-config + expire_in: 1 week + after_script: + - rm -rf vendor vendor_asusctl*.tar.xz "$CI_PROJECT_DIR/ci-target" || true pages: stage: deploy @@ -74,11 +88,11 @@ pages: - cargo doc --locked --document-private-items --no-deps --workspace - rm -rf public - mkdir public - - cp -R target/doc/* public + - cp -R ci-target/doc/* public - cp extra/index.html public artifacts: paths: - public - -variables: - GIT_SUBMODULE_STRATEGY: normal + expire_in: 1 week + after_script: + - rm -rf "$CI_PROJECT_DIR/ci-target" || true