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:
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