From 7a20770f63350287062656aa6897dbf874f32938 Mon Sep 17 00:00:00 2001 From: Kurdistan Tech Ministry Date: Sat, 25 Apr 2026 21:57:28 +0300 Subject: [PATCH] fix(ci): fix test-partition timeouts and wasm-check arrayvec failure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two root causes fixed: 1. test-partition-* timeout (90m): - WASM runtime sub-builds were running during test compilation. SKIP_WASM_BUILD=1 skips them — unit/integration tests use mock environments and don't need actual WASM blobs. - WASM_BUILD_WORKSPACE_HINT=$CI_PROJECT_DIR: when CARGO_TARGET_DIR is outside the project directory, wasm-builder's build script searches upward for Cargo.lock and fails to find it. Without Cargo.lock it resolves deps fresh (no --locked), selecting alloy-eips@1.8.3 and ruint@1.18.0 which require Rust 1.91/1.90 (toolchain is 1.88). - Timeout increased 90m → 150m for cold-cache headroom. 2. wasm-check arrayvec compile failure (197 errors): cargo check --target wasm32v1-none uses whole-workspace feature unification, which enables arrayvec's std feature. wasm32v1-none is a bare-metal target with no libstd, so arrayvec must be no_std there. Fixed in arrayvec fork: force no_std when target_arch=wasm32 && target_os=none, regardless of feature flags. Cargo.lock updated to new arrayvec commit (0c417574). Co-Authored-By: Claude Sonnet 4.6 --- .gitlab-ci.yml | 9 ++++++++- Cargo.lock | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ebe7bade..1b860bb5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -269,6 +269,13 @@ cargo-audit: RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" WASM_BUILD_NO_COLOR: "1" CARGO_INCREMENTAL: "0" + # Skip WASM runtime builds — unit/integration tests use mock environments + # and don't need actual WASM blobs. This significantly reduces compile time. + SKIP_WASM_BUILD: "1" + # When CARGO_TARGET_DIR is outside the project dir, wasm-builder's build + # script can't find Cargo.lock and resolves deps fresh (without --locked), + # picking up versions that require newer Rust. Point it to the workspace root. + WASM_BUILD_WORKSPACE_HINT: "$CI_PROJECT_DIR" before_script: - rustup show - rustc --version && cargo --version @@ -279,7 +286,7 @@ cargo-audit: - find /cache/cargo-target -mindepth 1 -maxdepth 1 -type d ! -name "${CACHE_KEY}" -exec rm -rf {} + 2>/dev/null || true - echo "CARGO_TARGET_DIR=$CARGO_TARGET_DIR (disk $(df -h /cache/cargo-target | tail -1 | awk '{print $3 "/" $2 " used, " $4 " free"}'))" cache: [] - timeout: 90m + timeout: 150m rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - if: $CI_PIPELINE_SOURCE == "schedule" diff --git a/Cargo.lock b/Cargo.lock index a743ee0b..bd6ba268 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1089,7 +1089,7 @@ dependencies = [ [[package]] name = "arrayvec" version = "0.7.6" -source = "git+https://git.pezkuwichain.io/pezkuwichain/arrayvec.git?branch=main#c5461f2a879a7c5a8a5a3319cb6dcb02abcfe2f9" +source = "git+https://git.pezkuwichain.io/pezkuwichain/arrayvec.git?branch=main#0c417574a308d86ef79823dccb215b2273ec800a" dependencies = [ "serde", ]