fix(ci): add LLD linker + make check-core-crypto-features resilient

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 <noreply@anthropic.com>
This commit is contained in:
Kurdistan Tech MinistryandClaude Sonnet 4.6 committed 2026-04-28 04:37:59 +03:00
1 parent 6b962273bb
commit 47a229d1a9
1 file changed
+12 -10
+12 -10
View File
@@ -279,14 +279,15 @@ check-try-runtime:
check-core-crypto-features: check-core-crypto-features:
stage: checks stage: checks
needs: [fmt] needs: [fmt]
# Use /root/.cargo to skip GitLab cache download which silently hangs on vps3
variables:
CARGO_HOME: /root/.cargo
before_script: []
timeout: 15m timeout: 15m
# server_timeout_running is not matched by named retry keywords — use always.
retry: retry:
max: 1 max: 2
when: when: always
- stuck_or_timeout_failure
- runner_system_failure
- unknown_failure
- job_execution_timeout
script: script:
- rustup target add wasm32v1-none - rustup target add wasm32v1-none
- | - |
@@ -388,10 +389,11 @@ cargo-audit:
needs: [clippy, check-try-runtime] needs: [clippy, check-try-runtime]
variables: variables:
CARGO_HOME: /root/.cargo CARGO_HOME: /root/.cargo
# -Cdebuginfo=1: line tables only — keeps file:line in panics, skips variable # -Cdebuginfo=1: line tables only — ~60% smaller than full debug (50G→~20G).
# and type info. Reduces debug binary size by ~60% vs full debug (debuginfo=2). # -Clink-arg=-fuse-ld=lld: LLD linker uses far less RAM than ld when linking
# On a Substrate workspace this cuts the /cache target dir from 50G → ~20G. # large crates (pezkuwi-availability-distribution, pezsc-service). On a
RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings -Cdebuginfo=1" # 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" WASM_BUILD_NO_COLOR: "1"
CARGO_INCREMENTAL: "0" CARGO_INCREMENTAL: "0"
# Skip WASM runtime builds — unit/integration tests use mock environments # Skip WASM runtime builds — unit/integration tests use mock environments