mirror of
https://gitlab.com/pezkuwichain/pezkuwi-sdk.git
synced 2026-10-20 18:56:23 +00:00
fix(ci): exclude emulated integration tests from partition jobs, add test-emulated
Emulated XCM integration tests call WASM_BINARY.expect() in their genesis functions (e.g. asset-hub-zagros/genesis.rs:168). With SKIP_WASM_BUILD=1 (set in .test-base) these all panic immediately with "WASM binary was not built, please build it!" — causing every test-partition and test-no-try-runtime job to fail. Fix: exclude all 10 emulated integration test packages from the 5 partition jobs. Add a dedicated test-emulated job that runs those 10 packages with SKIP_WASM_BUILD=0, so WASM blobs are compiled and the genesis functions succeed. test-emulated shares the same CARGO_TARGET_DIR as the partition jobs so jemalloc, rocksdb, and Rust deps are warm; WASM blobs land in a separate debug/build/<hash>/out/ subtree. Packages excluded from partitions / run in test-emulated: asset-hub-pezkuwichain-integration-tests asset-hub-zagros-integration-tests collectives-zagros-integration-tests coretime-pezkuwichain-integration-tests coretime-zagros-integration-tests governance-zagros-integration-tests people-pezkuwichain-integration-tests people-zagros-integration-tests pezbridge-hub-pezkuwichain-integration-tests pezbridge-hub-zagros-integration-tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
563fd2ca87
commit
9941af28b1
1 file changed
+113
-6
+113
-6
@@ -450,7 +450,17 @@ test-partition-1:
|
||||
cargo nextest run \
|
||||
--workspace --locked --no-fail-fast --cargo-quiet \
|
||||
--features try-runtime,experimental,ci-only-tests \
|
||||
--partition count:1/3
|
||||
--partition count:1/3 \
|
||||
--exclude asset-hub-pezkuwichain-integration-tests \
|
||||
--exclude asset-hub-zagros-integration-tests \
|
||||
--exclude collectives-zagros-integration-tests \
|
||||
--exclude coretime-pezkuwichain-integration-tests \
|
||||
--exclude coretime-zagros-integration-tests \
|
||||
--exclude governance-zagros-integration-tests \
|
||||
--exclude people-pezkuwichain-integration-tests \
|
||||
--exclude people-zagros-integration-tests \
|
||||
--exclude pezbridge-hub-pezkuwichain-integration-tests \
|
||||
--exclude pezbridge-hub-zagros-integration-tests
|
||||
artifacts:
|
||||
when: always
|
||||
paths: [test-results-1.xml]
|
||||
@@ -466,7 +476,17 @@ test-partition-2:
|
||||
cargo nextest run \
|
||||
--workspace --locked --no-fail-fast --cargo-quiet \
|
||||
--features try-runtime,experimental,ci-only-tests \
|
||||
--partition count:2/3
|
||||
--partition count:2/3 \
|
||||
--exclude asset-hub-pezkuwichain-integration-tests \
|
||||
--exclude asset-hub-zagros-integration-tests \
|
||||
--exclude collectives-zagros-integration-tests \
|
||||
--exclude coretime-pezkuwichain-integration-tests \
|
||||
--exclude coretime-zagros-integration-tests \
|
||||
--exclude governance-zagros-integration-tests \
|
||||
--exclude people-pezkuwichain-integration-tests \
|
||||
--exclude people-zagros-integration-tests \
|
||||
--exclude pezbridge-hub-pezkuwichain-integration-tests \
|
||||
--exclude pezbridge-hub-zagros-integration-tests
|
||||
artifacts:
|
||||
when: always
|
||||
paths: [test-results-2.xml]
|
||||
@@ -482,8 +502,18 @@ test-partition-3:
|
||||
cargo nextest run \
|
||||
--workspace --locked --no-fail-fast --cargo-quiet \
|
||||
--features try-runtime,experimental,ci-only-tests \
|
||||
--partition count:3/3
|
||||
# First partition also runs runtime-api tests
|
||||
--partition count:3/3 \
|
||||
--exclude asset-hub-pezkuwichain-integration-tests \
|
||||
--exclude asset-hub-zagros-integration-tests \
|
||||
--exclude collectives-zagros-integration-tests \
|
||||
--exclude coretime-pezkuwichain-integration-tests \
|
||||
--exclude coretime-zagros-integration-tests \
|
||||
--exclude governance-zagros-integration-tests \
|
||||
--exclude people-pezkuwichain-integration-tests \
|
||||
--exclude people-zagros-integration-tests \
|
||||
--exclude pezbridge-hub-pezkuwichain-integration-tests \
|
||||
--exclude pezbridge-hub-zagros-integration-tests
|
||||
# Also runs runtime-api tests
|
||||
- cargo nextest run -p pezsp-api-test --features enable-pez-staging-api --cargo-quiet
|
||||
artifacts:
|
||||
when: always
|
||||
@@ -500,7 +530,17 @@ test-no-try-runtime-1:
|
||||
cargo nextest run \
|
||||
--workspace --locked --no-fail-fast --cargo-quiet \
|
||||
--features experimental,ci-only-tests \
|
||||
--partition count:1/2
|
||||
--partition count:1/2 \
|
||||
--exclude asset-hub-pezkuwichain-integration-tests \
|
||||
--exclude asset-hub-zagros-integration-tests \
|
||||
--exclude collectives-zagros-integration-tests \
|
||||
--exclude coretime-pezkuwichain-integration-tests \
|
||||
--exclude coretime-zagros-integration-tests \
|
||||
--exclude governance-zagros-integration-tests \
|
||||
--exclude people-pezkuwichain-integration-tests \
|
||||
--exclude people-zagros-integration-tests \
|
||||
--exclude pezbridge-hub-pezkuwichain-integration-tests \
|
||||
--exclude pezbridge-hub-zagros-integration-tests
|
||||
|
||||
test-no-try-runtime-2:
|
||||
extends: .test-base
|
||||
@@ -510,7 +550,74 @@ test-no-try-runtime-2:
|
||||
cargo nextest run \
|
||||
--workspace --locked --no-fail-fast --cargo-quiet \
|
||||
--features experimental,ci-only-tests \
|
||||
--partition count:2/2
|
||||
--partition count:2/2 \
|
||||
--exclude asset-hub-pezkuwichain-integration-tests \
|
||||
--exclude asset-hub-zagros-integration-tests \
|
||||
--exclude collectives-zagros-integration-tests \
|
||||
--exclude coretime-pezkuwichain-integration-tests \
|
||||
--exclude coretime-zagros-integration-tests \
|
||||
--exclude governance-zagros-integration-tests \
|
||||
--exclude people-pezkuwichain-integration-tests \
|
||||
--exclude people-zagros-integration-tests \
|
||||
--exclude pezbridge-hub-pezkuwichain-integration-tests \
|
||||
--exclude pezbridge-hub-zagros-integration-tests
|
||||
|
||||
# Emulated XCM integration tests — require WASM blobs, run separately with
|
||||
# SKIP_WASM_BUILD=0. Uses the same CARGO_TARGET_DIR as test-partition jobs so
|
||||
# Rust artifacts (deps/, jemalloc, rocksdb) are already warm from those jobs.
|
||||
# WASM blobs land in debug/build/<wasm-builder-hash>/out/ — separate subtree.
|
||||
test-emulated:
|
||||
stage: test
|
||||
tags: [pezkuwi-runner]
|
||||
needs: [check-try-runtime]
|
||||
variables:
|
||||
CARGO_HOME: /root/.cargo
|
||||
SKIP_WASM_BUILD: "0"
|
||||
WASM_BUILD_NO_COLOR: "1"
|
||||
WASM_BUILD_WORKSPACE_HINT: "$CI_PROJECT_DIR"
|
||||
CARGO_INCREMENTAL: "0"
|
||||
RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings -Cdebuginfo=1 -Clink-arg=-fuse-ld=lld"
|
||||
before_script:
|
||||
- rustup show
|
||||
- rustc --version && cargo --version
|
||||
- rustup target add wasm32v1-none
|
||||
- export CACHE_KEY="$(cat Cargo.lock rust-toolchain.toml | md5sum | cut -c1-12)"
|
||||
- export CARGO_TARGET_DIR="/cache/cargo-target/${CACHE_KEY}/test-release"
|
||||
- mkdir -p "$CARGO_TARGET_DIR"
|
||||
- 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: 420m
|
||||
retry:
|
||||
max: 1
|
||||
when:
|
||||
- runner_system_failure
|
||||
- unknown_failure
|
||||
script:
|
||||
- git config --global --add safe.directory '*'
|
||||
- |
|
||||
cargo nextest run --locked --no-fail-fast --cargo-quiet \
|
||||
-p asset-hub-pezkuwichain-integration-tests \
|
||||
-p asset-hub-zagros-integration-tests \
|
||||
-p collectives-zagros-integration-tests \
|
||||
-p coretime-pezkuwichain-integration-tests \
|
||||
-p coretime-zagros-integration-tests \
|
||||
-p governance-zagros-integration-tests \
|
||||
-p people-pezkuwichain-integration-tests \
|
||||
-p people-zagros-integration-tests \
|
||||
-p pezbridge-hub-pezkuwichain-integration-tests \
|
||||
-p pezbridge-hub-zagros-integration-tests
|
||||
artifacts:
|
||||
when: always
|
||||
paths: [test-results-emulated.xml]
|
||||
reports:
|
||||
junit: test-results-emulated.xml
|
||||
expire_in: 7 days
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
||||
- if: $CI_PIPELINE_SOURCE == "schedule"
|
||||
- if: $CI_PIPELINE_SOURCE == "web"
|
||||
when: manual
|
||||
|
||||
wasm-check:
|
||||
stage: test
|
||||
|
||||
Reference in new issue
Block a user