From 47a229d1a944d14b5966153754945f74d07c2028 Mon Sep 17 00:00:00 2001 From: Kurdistan Tech Ministry Date: Tue, 28 Apr 2026 04:37:59 +0300 Subject: [PATCH] fix(ci): add LLD linker + make check-core-crypto-features resilient MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Add -Clink-arg=-fuse-ld=lld to .test-base RUSTFLAGS. LLD uses significantly less RAM than ld when linking large debug binaries (pezkuwi-availability-distribution, pezsc-service). On kurditv with 8G container memory limit, ld Bus-errors during the link step. LLD resolves this without raising the memory cap. 2. Apply the same fmt resilience pattern to check-core-crypto-features: CARGO_HOME=/root/.cargo, before_script:[], retry: when:always max:2. The job hits server_timeout_running on vps3 (same root cause as fmt — GitLab CI cache download hangs before the script produces any output). Co-Authored-By: Claude Sonnet 4.6 --- .gitlab-ci.yml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ec6ef81c..eba6c2bf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -279,14 +279,15 @@ check-try-runtime: check-core-crypto-features: stage: checks needs: [fmt] + # Use /root/.cargo to skip GitLab cache download which silently hangs on vps3 + variables: + CARGO_HOME: /root/.cargo + before_script: [] timeout: 15m + # server_timeout_running is not matched by named retry keywords — use always. retry: - max: 1 - when: - - stuck_or_timeout_failure - - runner_system_failure - - unknown_failure - - job_execution_timeout + max: 2 + when: always script: - rustup target add wasm32v1-none - | @@ -388,10 +389,11 @@ cargo-audit: needs: [clippy, check-try-runtime] variables: CARGO_HOME: /root/.cargo - # -Cdebuginfo=1: line tables only — keeps file:line in panics, skips variable - # and type info. Reduces debug binary size by ~60% vs full debug (debuginfo=2). - # On a Substrate workspace this cuts the /cache target dir from 50G → ~20G. - RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings -Cdebuginfo=1" + # -Cdebuginfo=1: line tables only — ~60% smaller than full debug (50G→~20G). + # -Clink-arg=-fuse-ld=lld: LLD linker uses far less RAM than ld when linking + # large crates (pezkuwi-availability-distribution, pezsc-service). On a + # memory-constrained runner (8G container limit) ld can Bus-error during link. + RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings -Cdebuginfo=1 -Clink-arg=-fuse-ld=lld" WASM_BUILD_NO_COLOR: "1" CARGO_INCREMENTAL: "0" # Skip WASM runtime builds — unit/integration tests use mock environments