Chore: Spare memory on CI

This commit is contained in:
Denis Benato
2025-11-16 14:17:24 +01:00
parent 8ad26ad136
commit 031a36242b

View File

@@ -1,22 +1,26 @@
image: rust:latest 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 .rust_cache: &rust_cache
cache: cache:
# key: $CI_COMMIT_REF_SLUG key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths: paths:
# Don't include `incremental` to save space - .cargo/registry
# Debug - .cargo/git
- 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
before_script: 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 - 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: stages:
@@ -33,6 +37,9 @@ format:
script: script:
- rustup component add rustfmt || true - rustup component add rustfmt || true
- cargo fmt --check - cargo fmt --check
after_script:
- du -sh "$CI_PROJECT_DIR/ci-target" || true
- rm -rf "$CI_PROJECT_DIR/ci-target" || true
check: check:
except: except:
@@ -44,6 +51,8 @@ check:
# deny currently catches too much # deny currently catches too much
#- cargo install cargo-deny && cargo deny #- cargo install cargo-deny && cargo deny
- cargo install cargo-cranky && cargo cranky - cargo install cargo-cranky && cargo cranky
after_script:
- rm -rf "$CI_PROJECT_DIR/ci-target" || true
test: test:
except: except:
@@ -52,6 +61,8 @@ test:
script: script:
- mkdir -p .git/hooks > /dev/null - mkdir -p .git/hooks > /dev/null
- cargo test --locked --all - cargo test --locked --all
after_script:
- rm -rf "$CI_PROJECT_DIR/ci-target" || true
release: release:
only: only:
@@ -64,6 +75,9 @@ release:
paths: paths:
- vendor_asusctl*.tar.xz - vendor_asusctl*.tar.xz
- cargo-config - cargo-config
expire_in: 1 week
after_script:
- rm -rf vendor vendor_asusctl*.tar.xz "$CI_PROJECT_DIR/ci-target" || true
pages: pages:
stage: deploy stage: deploy
@@ -74,11 +88,11 @@ pages:
- cargo doc --locked --document-private-items --no-deps --workspace - cargo doc --locked --document-private-items --no-deps --workspace
- rm -rf public - rm -rf public
- mkdir public - mkdir public
- cp -R target/doc/* public - cp -R ci-target/doc/* public
- cp extra/index.html public - cp extra/index.html public
artifacts: artifacts:
paths: paths:
- public - public
expire_in: 1 week
variables: after_script:
GIT_SUBMODULE_STRATEGY: normal - rm -rf "$CI_PROJECT_DIR/ci-target" || true