diff --git a/.github/workflows/build-misc.yml b/.github/workflows/build-misc.yml index e1a28bcc..a8e2d8fa 100644 --- a/.github/workflows/build-misc.yml +++ b/.github/workflows/build-misc.yml @@ -43,9 +43,6 @@ jobs: rustup show rustup +nightly show - - name: Add wasm32v1-none target - run: rustup target add wasm32v1-none || true - - name: Build env: BIZINIKIWI_RUNTIME_TARGET: riscv diff --git a/.github/workflows/build-publish-images.yml b/.github/workflows/build-publish-images.yml index ee4761c7..a8c2a086 100644 --- a/.github/workflows/build-publish-images.yml +++ b/.github/workflows/build-publish-images.yml @@ -28,15 +28,12 @@ jobs: uses: ./.github/workflows/reusable-preflight.yml ### Build ######################## - # TEMPORARILY DISABLED: All build jobs require WASM but serde_core + Rust 1.88 + wasm32 bug prevents WASM build - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 # # # build-linux-stable: needs: [preflight] - if: false # Disabled until serde_core upstream fix runs-on: ${{ needs.preflight.outputs.RUNNER }} timeout-minutes: 60 container: @@ -51,9 +48,6 @@ jobs: uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Configure git safe.directory run: git config --global --add safe.directory '*' - # NOTE: wasm32v1-none target removed - serde_core + Rust 1.88 bug - # wasm-builder will fallback to wasm32-unknown-unknown automatically - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - name: build id: required run: | @@ -98,7 +92,6 @@ jobs: # build-linux-stable-pezcumulus: needs: [preflight] - if: false # Disabled until serde_core upstream fix runs-on: ${{ needs.preflight.outputs.RUNNER }} timeout-minutes: 60 container: @@ -108,8 +101,6 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - # NOTE: wasm32v1-none target removed - serde_core + Rust 1.88 bug - # wasm-builder will fallback to wasm32-unknown-unknown automatically - name: build id: required run: | @@ -135,7 +126,6 @@ jobs: # build-test-teyrchain: needs: [preflight] - if: false # Disabled until serde_core upstream fix runs-on: ${{ needs.preflight.outputs.RUNNER }} timeout-minutes: 60 container: @@ -145,8 +135,6 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - # NOTE: wasm32v1-none target removed - serde_core + Rust 1.88 bug - # wasm-builder will fallback to wasm32-unknown-unknown automatically - name: build id: required run: | @@ -176,7 +164,6 @@ jobs: # build-test-collators: needs: [preflight] - if: false # Disabled until serde_core upstream fix runs-on: ${{ needs.preflight.outputs.RUNNER }} timeout-minutes: 60 container: @@ -184,8 +171,6 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - # NOTE: wasm32v1-none target removed - serde_core + Rust 1.88 bug - # wasm-builder will fallback to wasm32-unknown-unknown automatically - name: build id: required run: | @@ -216,7 +201,6 @@ jobs: # build-malus: needs: [preflight] - if: false # Disabled until serde_core upstream fix runs-on: ${{ needs.preflight.outputs.RUNNER }} timeout-minutes: 60 container: @@ -224,8 +208,6 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - # NOTE: wasm32v1-none target removed - serde_core + Rust 1.88 bug - # wasm-builder will fallback to wasm32-unknown-unknown automatically - name: build id: required run: | @@ -255,7 +237,6 @@ jobs: # build-linux-bizinikiwi: needs: [preflight] - if: false # Disabled until serde_core upstream fix runs-on: ${{ needs.preflight.outputs.RUNNER }} timeout-minutes: 60 container: @@ -265,8 +246,6 @@ jobs: uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Configure git safe.directory run: git config --global --add safe.directory '*' - # NOTE: wasm32v1-none target removed - serde_core + Rust 1.88 bug - # wasm-builder will fallback to wasm32-unknown-unknown automatically - name: build id: required run: | @@ -301,7 +280,6 @@ jobs: # build-templates-node: needs: [preflight] - if: false # Disabled until serde_core upstream fix runs-on: ${{ needs.preflight.outputs.RUNNER }} timeout-minutes: 60 container: @@ -309,8 +287,6 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - # NOTE: wasm32v1-none target removed - serde_core + Rust 1.88 bug - # wasm-builder will fallback to wasm32-unknown-unknown automatically - name: build id: required run: | @@ -340,15 +316,11 @@ jobs: ### Build zombienet test artifacts ######################## - # TEMPORARILY DISABLED: wasm32v1-none target causes serde_core + Rust 1.88 bug - # Also bridges/testing directory doesn't exist in the repo - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 # # # prepare-bridges-zombienet-artifacts: needs: [preflight] - if: false # Disabled until serde_core upstream fix runs-on: ${{ needs.preflight.outputs.RUNNER }} timeout-minutes: 60 container: @@ -356,8 +328,6 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Add wasm32v1-none target - run: rustup target add wasm32v1-none - name: build run: | cargo build --locked --profile testnet -p pezkuwi-test-malus --bin malus --bin pezkuwi-prepare-worker --bin pezkuwi-execute-worker @@ -376,14 +346,11 @@ jobs: path: artifacts.tar retention-days: 1 - # TEMPORARILY DISABLED: wasm32v1-none target causes serde_core + Rust 1.88 bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 # # # prepare-pezkuwi-zombienet-artifacts: needs: [preflight] - if: false # Disabled until serde_core upstream fix runs-on: ${{ needs.preflight.outputs.RUNNER }} timeout-minutes: 60 container: @@ -391,8 +358,6 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Add wasm32v1-none target - run: rustup target add wasm32v1-none - name: build run: | cargo nextest --manifest-path pezkuwi/zombienet-sdk-tests/Cargo.toml archive --locked --features zombie-metadata,zombie-ci --archive-file pezkuwi-zombienet-tests.tar.zst @@ -411,14 +376,11 @@ jobs: path: artifacts.tar retention-days: 1 - # TEMPORARILY DISABLED: wasm32v1-none target causes serde_core + Rust 1.88 bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 # # # prepare-pezcumulus-zombienet-artifacts: needs: [preflight] - if: false # Disabled until serde_core upstream fix runs-on: ${{ needs.preflight.outputs.RUNNER }} timeout-minutes: 60 container: @@ -426,8 +388,6 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Add wasm32v1-none target - run: rustup target add wasm32v1-none - name: build run: | cargo nextest --manifest-path pezcumulus/zombienet/zombienet-sdk/Cargo.toml archive --locked --features zombie-ci --archive-file pezcumulus-zombienet-tests.tar.zst @@ -446,11 +406,8 @@ jobs: path: artifacts.tar retention-days: 1 - # TEMPORARILY DISABLED: wasm32v1-none target causes serde_core + Rust 1.88 bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 prepare-teyrchain-templates-zombienet-artifacts: needs: [preflight] - if: false # Disabled until serde_core upstream fix runs-on: ${{ needs.preflight.outputs.RUNNER }} timeout-minutes: 60 container: @@ -458,8 +415,6 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Add wasm32v1-none target - run: rustup target add wasm32v1-none - name: build run: | cargo nextest --manifest-path templates/zombienet/Cargo.toml archive --locked --features zombienet --archive-file teyrchain-templates-zombienet-tests.tar.zst @@ -699,7 +654,7 @@ jobs: - build-malus - build-linux-bizinikiwi - build-templates-node - if: false # Disabled until serde_core upstream fix - all build jobs are disabled + if: always() && !cancelled() outputs: build_success: ${{ steps.check_success.outputs.build_success }} steps: @@ -719,7 +674,6 @@ jobs: trigger-zombienet-pezkuwi: needs: [preflight, confirm-required-build-jobs-passed] - if: false # Disabled until serde_core upstream fix uses: ./.github/workflows/zombienet_pezkuwi.yml with: build_run_id: ${{ github.run_id }} @@ -727,7 +681,6 @@ jobs: trigger-zombienet-pezcumulus: needs: [preflight, confirm-required-build-jobs-passed] - if: false # Disabled until serde_core upstream fix uses: ./.github/workflows/zombienet_pezcumulus.yml with: build_run_id: ${{ github.run_id }} @@ -735,7 +688,6 @@ jobs: trigger-zombienet-bizinikiwi: needs: [preflight, confirm-required-build-jobs-passed] - if: false # Disabled until serde_core upstream fix uses: ./.github/workflows/zombienet_bizinikiwi.yml with: build_run_id: ${{ github.run_id }} @@ -743,7 +695,6 @@ jobs: trigger-zombienet-teyrchain-template: needs: [preflight, confirm-required-build-jobs-passed] - if: false # Disabled until serde_core upstream fix uses: ./.github/workflows/zombienet_teyrchain-template.yml with: build_run_id: ${{ github.run_id }} @@ -757,7 +708,7 @@ jobs: - trigger-zombienet-pezcumulus - trigger-zombienet-bizinikiwi - trigger-zombienet-teyrchain-template - if: false # Disabled until serde_core upstream fix + if: always() && !cancelled() steps: - name: Check zombienet success id: check_success diff --git a/.github/workflows/check-getting-started.yml b/.github/workflows/check-getting-started.yml index c143a3f9..10568bf0 100644 --- a/.github/workflows/check-getting-started.yml +++ b/.github/workflows/check-getting-started.yml @@ -74,8 +74,6 @@ jobs: env: # Use local templates from the repo instead of cloning from external repos PEZKUWI_TEMPLATE_SOURCE: ${{ github.workspace }}/templates - # Skip WASM build due to serde_core compatibility issues - SKIP_WASM_BUILD: 1 # Fix HOME directory mismatch in containers (rustup requires this) HOME: /root steps: @@ -212,8 +210,6 @@ jobs: env: # Use local templates from the repo instead of cloning from external repos PEZKUWI_TEMPLATE_SOURCE: ${{ github.workspace }}/templates - # Skip WASM build due to serde_core compatibility issues - SKIP_WASM_BUILD: 1 steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 425d5366..355c40e2 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -39,29 +39,12 @@ jobs: steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 - # Clean stale caches from other workflows that ran on this VPS runner. - # Each VPS has limited disk; leftover caches from docs/tests can fill it. - - name: Clean stale caches - run: | - echo "Disk before cleanup:" - df -h /cache 2>/dev/null || df -h / - for dir in /cache/cargo-target/*/; do - [ "$dir" = "/cache/cargo-target/pezkuwi-sdk/" ] && continue - echo "Removing stale cache: $dir" - rm -rf "$dir" - done - echo "Disk after cleanup:" - df -h /cache 2>/dev/null || df -h / - - name: Rust Cache uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2.7.8 with: shared-key: clippy cache-on-failure: true - - name: Add wasm32v1-none target - run: rustup target add wasm32v1-none || true - - name: script id: required run: | @@ -101,43 +84,34 @@ jobs: # experimental code may rely on try-runtime and vice-versa cargo check --locked --all --features try-runtime,experimental --quiet - # TEMPORARILY DISABLED: check-core-crypto-features - # Reason: serde 1.0.218+ introduces serde_core which causes duplicate panic_impl - # when building wasm32 with --features=serde. alloy-consensus requires serde >= 1.0.226 - # so we cannot pin to older serde. - # Tracking issue: https://github.com/pezkuwichain/pezkuwi-sdk/issues/355 - # Upstream: https://github.com/serde-rs/serde/issues (to be filed) - # TODO: Re-enable when serde fixes the wasm32 + no_std + serde feature combination - # - # check-core-crypto-features: - # runs-on: ${{ needs.preflight.outputs.RUNNER }} - # needs: [preflight] - # if: ${{ needs.preflight.outputs.changes_rust }} - # timeout-minutes: 30 - # container: - # image: ${{ needs.preflight.outputs.IMAGE }} - # steps: - # - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 - # - name: script - # id: required - # run: | - # cd bizinikiwi/primitives/core - # ./check-features-variants.sh - # cd - - # cd bizinikiwi/primitives/application-crypto - # ./check-features-variants.sh - # cd - - # cd bizinikiwi/primitives/keyring - # ./check-features-variants.sh - # cd - + check-core-crypto-features: + runs-on: ${{ needs.preflight.outputs.RUNNER }} + needs: [preflight] + if: ${{ needs.preflight.outputs.changes_rust }} + timeout-minutes: 30 + container: + image: ${{ needs.preflight.outputs.IMAGE }} + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 + - name: script + id: required + run: | + cd bizinikiwi/primitives/core + ./check-features-variants.sh + cd - + cd bizinikiwi/primitives/application-crypto + ./check-features-variants.sh + cd - + cd bizinikiwi/primitives/keyring + ./check-features-variants.sh + cd - # name of this job must be unique across all workflows # otherwise GitHub will mark all these jobs as required confirm-required-checks-passed: runs-on: ubuntu-latest name: All checks passed # If any new job gets added, be sure to add it to this array - # NOTE: check-core-crypto-features temporarily removed - see comment above - needs: [cargo-clippy, check-try-runtime] + needs: [cargo-clippy, check-try-runtime, check-core-crypto-features] if: always() && !cancelled() steps: - run: | diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index be50efd9..d2a22726 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -29,7 +29,6 @@ jobs: - /cache/cargo-target/pezkuwi-sdk-docs:/cache/target env: RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" - SKIP_WASM_BUILD: 1 CARGO_INCREMENTAL: 0 CARGO_TARGET_DIR: /cache/target steps: @@ -68,7 +67,6 @@ jobs: volumes: - /cache/cargo-target/pezkuwi-sdk-docs:/cache/target env: - SKIP_WASM_BUILD: 1 CARGO_INCREMENTAL: 0 CARGO_TARGET_DIR: /cache/target RUSTDOCFLAGS: "-Dwarnings --default-theme=ayu --html-in-header ./docs/sdk/assets/header.html --extend-css ./docs/sdk/assets/theme.css --html-after-content ./docs/sdk/assets/after-content.html" diff --git a/.github/workflows/publish-check-compile.yml b/.github/workflows/publish-check-compile.yml index f1e7b5fa..9a8b3783 100644 --- a/.github/workflows/publish-check-compile.yml +++ b/.github/workflows/publish-check-compile.yml @@ -22,7 +22,6 @@ jobs: image: ${{ needs.preflight.outputs.IMAGE }} env: RUSTFLAGS: "-D warnings" - SKIP_WASM_BUILD: 1 steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4.1.7 diff --git a/.github/workflows/tests-evm.yml b/.github/workflows/tests-evm.yml index 5083adea..1c070047 100644 --- a/.github/workflows/tests-evm.yml +++ b/.github/workflows/tests-evm.yml @@ -22,10 +22,6 @@ jobs: timeout-minutes: 60 container: image: ${{ needs.preflight.outputs.IMAGE }} - env: - # Temporary: Skip WASM build due to serde_core + Rust 1.88 + WASM bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - SKIP_WASM_BUILD: 1 permissions: pull-requests: write strategy: @@ -45,8 +41,6 @@ jobs: curl -Lsf --show-error -o resolc "$ASSET_URL" chmod +x resolc ./resolc --version - # NOTE: wasm32v1-none target removed - serde_core + Rust 1.88 bug - # wasm-builder will fallback to wasm32-unknown-unknown automatically - name: Building the dependencies from the Pezkuwi SDK run: cargo build --locked --profile release -p pezpallet-revive-eth-rpc -p pez-revive-dev-node - name: Checkout the Differential Tests Repository @@ -111,9 +105,6 @@ jobs: # but still want to have debug assertions. RUSTFLAGS: "-C debug-assertions" RUST_BACKTRACE: 1 - # Temporary: Skip WASM build due to serde_core + Rust 1.88 + WASM bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - SKIP_WASM_BUILD: 1 strategy: matrix: platform: @@ -122,8 +113,6 @@ jobs: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - # NOTE: wasm32v1-none target removed - serde_core + Rust 1.88 bug - # wasm-builder will fallback to wasm32-unknown-unknown automatically - name: script run: | cargo build --locked --release -p pezpallet-revive-eth-rpc --bin eth-rpc diff --git a/.github/workflows/tests-linux-stable-coverage.yml b/.github/workflows/tests-linux-stable-coverage.yml index a198b134..811366c5 100644 --- a/.github/workflows/tests-linux-stable-coverage.yml +++ b/.github/workflows/tests-linux-stable-coverage.yml @@ -34,9 +34,6 @@ jobs: # -Cinstrument-coverage slows everything down but it is necessary for code coverage # https://doc.rust-lang.org/rustc/instrument-coverage.html RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings -Cinstrument-coverage" - # Temporary: Skip WASM build due to serde_core + Rust 1.88 + WASM bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - SKIP_WASM_BUILD: 1 LLVM_PROFILE_FILE: "/__w/pezkuwi-sdk/pezkuwi-sdk/target/coverage/cargo-test-${{ matrix.ci_node_index }}-%p-%m.profraw" strategy: fail-fast: false diff --git a/.github/workflows/tests-linux-stable-xp.yml b/.github/workflows/tests-linux-stable-xp.yml index 97d7388a..bdb6de98 100644 --- a/.github/workflows/tests-linux-stable-xp.yml +++ b/.github/workflows/tests-linux-stable-xp.yml @@ -39,9 +39,6 @@ jobs: # Enable debug assertions since we are running optimized builds for testing # but still want to have debug assertions. RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" - # Temporary: Skip WASM build due to serde_core + Rust 1.88 + WASM bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - SKIP_WASM_BUILD: 1 steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -73,9 +70,6 @@ jobs: # Enable debug assertions since we are running optimized builds for testing # but still want to have debug assertions. RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" - # Temporary: Skip WASM build due to serde_core + Rust 1.88 + WASM bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - SKIP_WASM_BUILD: 1 steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 diff --git a/.github/workflows/tests-linux-stable.yml b/.github/workflows/tests-linux-stable.yml index 6d1bdd25..e6ea06b9 100644 --- a/.github/workflows/tests-linux-stable.yml +++ b/.github/workflows/tests-linux-stable.yml @@ -32,15 +32,10 @@ jobs: WASM_BUILD_RUSTFLAGS: "-C debug-assertions -D warnings" # Ensure we run the UI tests. RUN_UI_TESTS: 1 - # Temporary: Skip WASM build due to serde_core + Rust 1.88 + WASM bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - SKIP_WASM_BUILD: 1 CARGO_TARGET_DIR: /cache/target steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Add wasm32v1-none target - run: rustup target add wasm32v1-none || true - name: script id: required run: | @@ -62,9 +57,6 @@ jobs: # Enable debug assertions since we are running optimized builds for testing # but still want to have debug assertions. RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" - # Temporary: Skip WASM build due to serde_core + Rust 1.88 + WASM bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - SKIP_WASM_BUILD: 1 CARGO_TARGET_DIR: /cache/target steps: - name: Checkout @@ -94,17 +86,11 @@ jobs: RUST_TOOLCHAIN: stable RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" CARGO_INCREMENTAL: 0 - # Temporary: Skip WASM build due to serde_core + Rust 1.88 + WASM bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - SKIP_WASM_BUILD: 1 CARGO_TARGET_DIR: /cache/target steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Add wasm32v1-none target - run: rustup target add wasm32v1-none || true - - name: script id: required run: | @@ -143,15 +129,10 @@ jobs: # Enable debug assertions since we are running optimized builds for testing # but still want to have debug assertions. RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" - # Temporary: Skip WASM build due to serde_core + Rust 1.88 + WASM bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - SKIP_WASM_BUILD: 1 CARGO_TARGET_DIR: /cache/target steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Add wasm32v1-none target - run: rustup target add wasm32v1-none || true - name: script id: required run: | diff --git a/.github/workflows/tests-misc.yml b/.github/workflows/tests-misc.yml index e74d4a6a..73535f6d 100644 --- a/.github/workflows/tests-misc.yml +++ b/.github/workflows/tests-misc.yml @@ -34,9 +34,6 @@ jobs: # but still want to have debug assertions. RUSTFLAGS: "-C debug-assertions" RUST_BACKTRACE: 1 - # Temporary: Skip WASM build due to serde_core + Rust 1.88 + WASM bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - SKIP_WASM_BUILD: 1 steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -48,37 +45,28 @@ jobs: cd ../application-crypto cargo build --locked --no-default-features --features full_crypto - # TEMPORARILY DISABLED: test-pezframe-examples-compile-to-wasm - # Reason: serde_core 1.0.228+ causes duplicate lang item error when building - # wasm32-unknown-unknown target. The error: "duplicate lang item in crate alloc: exchange_malloc" - # This is the same issue that disabled check-core-crypto-features in checks.yml - # Tracking issue: https://github.com/pezkuwichain/pezkuwi-sdk/issues/355 - # TODO: Re-enable when serde upstream fixes the wasm32 + no_std combination - # - # test-pezframe-examples-compile-to-wasm: - # timeout-minutes: 20 - # # into one job - # needs: [preflight, test-full-crypto-feature] - # runs-on: ${{ needs.preflight.outputs.RUNNER }} - # if: ${{ needs.preflight.outputs.changes_rust }} - # container: - # image: ${{ needs.preflight.outputs.IMAGE }} - # env: - # # Enable debug assertions since we are running optimized builds for testing - # # but still want to have debug assertions. - # RUSTFLAGS: "-C debug-assertions" - # RUST_BACKTRACE: 1 - # steps: - # - name: Checkout - # uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - # - name: Add wasm32v1-none target - # run: rustup target add wasm32v1-none || true - # - name: script - # run: | - # cd bizinikiwi/pezframe/examples/offchain-worker/ - # RUSTFLAGS="--cfg bizinikiwi_runtime" cargo build --locked --target=wasm32-unknown-unknown --no-default-features - # cd ../basic - # RUSTFLAGS="--cfg bizinikiwi_runtime" cargo build --locked --target=wasm32-unknown-unknown --no-default-features + test-pezframe-examples-compile-to-wasm: + timeout-minutes: 20 + # into one job + needs: [preflight, test-full-crypto-feature] + runs-on: ${{ needs.preflight.outputs.RUNNER }} + if: ${{ needs.preflight.outputs.changes_rust }} + container: + image: ${{ needs.preflight.outputs.IMAGE }} + env: + # Enable debug assertions since we are running optimized builds for testing + # but still want to have debug assertions. + RUSTFLAGS: "-C debug-assertions" + RUST_BACKTRACE: 1 + steps: + - name: Checkout + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: script + run: | + cd bizinikiwi/pezframe/examples/offchain-worker/ + RUSTFLAGS="--cfg bizinikiwi_runtime" cargo build --locked --target=wasm32-unknown-unknown --no-default-features + cd ../basic + RUSTFLAGS="--cfg bizinikiwi_runtime" cargo build --locked --target=wasm32-unknown-unknown --no-default-features test-pezframe-ui: timeout-minutes: 45 @@ -90,7 +78,6 @@ jobs: env: RUSTFLAGS: "-C debug-assertions -D warnings" RUST_BACKTRACE: 1 - SKIP_WASM_BUILD: 1 RUN_UI_TESTS: 1 CARGO_INCREMENTAL: 0 steps: @@ -113,44 +100,36 @@ jobs: cargo test --locked -q --profile testnet -p pezsp-api-test ui cargo test --locked -q --profile testnet --manifest-path bizinikiwi/primitives/runtime-interface/Cargo.toml ui - # TEMPORARILY DISABLED: test-deterministic-wasm - # Reason: This test REQUIRES WASM builds to verify deterministic compilation. - # serde_core 1.0.228+ causes duplicate lang item error when building WASM targets. - # Error: "duplicate lang item in crate alloc: exchange_malloc" - # SKIP_WASM_BUILD=1 makes this test meaningless as there are no WASM files to checksum. - # Tracking issue: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - # TODO: Re-enable when serde upstream fixes the wasm32 + no_std combination - # - # test-deterministic-wasm: - # timeout-minutes: 40 - # needs: [preflight, test-full-crypto-feature] - # runs-on: ${{ needs.preflight.outputs.RUNNER }} - # if: ${{ needs.preflight.outputs.changes_rust }} - # container: - # image: ${{ needs.preflight.outputs.IMAGE }} - # env: - # WASM_BUILD_NO_COLOR: 1 - # steps: - # - name: Checkout - # uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - # - # - name: Clean cargo cache to free disk space - # run: | - # cargo clean 2>/dev/null || true - # rm -rf ~/.cargo/registry/cache 2>/dev/null || true - # rm -rf ~/.cargo/git/db 2>/dev/null || true - # - # - name: script - # run: | - # # build runtime - # cargo build -q --locked --release -p zagros-runtime -p pezkuwichain-runtime - # # make checksum - # sha256sum target/release/wbuild/*-runtime/target/wasm32-unknown-unknown/release/*.wasm > checksum.sha256 - # cargo clean - # # build again - # cargo build -q --locked --release -p zagros-runtime -p pezkuwichain-runtime - # # confirm checksum - # sha256sum -c checksum.sha256 + test-deterministic-wasm: + timeout-minutes: 40 + needs: [preflight, test-full-crypto-feature] + runs-on: ${{ needs.preflight.outputs.RUNNER }} + if: ${{ needs.preflight.outputs.changes_rust }} + container: + image: ${{ needs.preflight.outputs.IMAGE }} + env: + WASM_BUILD_NO_COLOR: 1 + steps: + - name: Checkout + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: Clean cargo cache to free disk space + run: | + cargo clean 2>/dev/null || true + rm -rf ~/.cargo/registry/cache 2>/dev/null || true + rm -rf ~/.cargo/git/db 2>/dev/null || true + + - name: script + run: | + # build runtime + cargo build -q --locked --release -p zagros-runtime -p pezkuwichain-runtime + # make checksum + sha256sum target/release/wbuild/*-runtime/target/wasm32-unknown-unknown/release/*.wasm > checksum.sha256 + cargo clean + # build again + cargo build -q --locked --release -p zagros-runtime -p pezkuwichain-runtime + # confirm checksum + sha256sum -c checksum.sha256 cargo-check-benches: needs: [preflight] @@ -162,10 +141,6 @@ jobs: runs-on: ${{ needs.preflight.outputs.RUNNER }} container: image: ${{ needs.preflight.outputs.IMAGE }} - env: - # Temporary: Skip WASM build due to serde_core + Rust 1.88 + WASM bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - SKIP_WASM_BUILD: 1 steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -284,9 +259,6 @@ jobs: rm -rf ~/.cargo/registry/cache 2>/dev/null || true rm -rf ~/.cargo/git/db 2>/dev/null || true - # NOTE: wasm32v1-none target removed - serde_core + Rust 1.88 bug - # wasm-builder will fallback to wasm32-unknown-unknown automatically - - name: Run tests id: tests env: @@ -294,9 +266,6 @@ jobs: # Enable debug assertions since we are running optimized builds for testing # but still want to have debug assertions. RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings" - # Temporary: Skip WASM build due to serde_core + Rust 1.88 + WASM bug - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 - SKIP_WASM_BUILD: 1 run: | cargo build --bin pezkuwi-execute-worker --bin pezkuwi-prepare-worker --profile testnet --verbose --locked mkdir -p ./artifacts @@ -339,9 +308,6 @@ jobs: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Add wasm32v1-none target - run: rustup target add wasm32v1-none || true - - name: script run: | cargo build --locked -p zagros-runtime --features metadata-hash @@ -397,8 +363,6 @@ jobs: env: RUSTFLAGS: "-D warnings" CI_JOB_NAME: cargo-check-each-crate - # Skip WASM build to avoid serde_core duplicate lang item error - SKIP_WASM_BUILD: 1 CARGO_INCREMENTAL: 0 strategy: matrix: @@ -413,9 +377,6 @@ jobs: shared-key: check-each-crate-${{ matrix.index }} cache-on-failure: true - - name: Add wasm32v1-none target - run: rustup target add wasm32v1-none || true - - name: script run: | PYTHONUNBUFFERED=x .github/scripts/check-each-crate.py ${{ matrix.index }} ${{ strategy.job-total }} @@ -425,8 +386,6 @@ jobs: needs: [preflight] runs-on: ${{ needs.preflight.outputs.RUNNER_MACOS }} if: ${{ needs.preflight.outputs.changes_rust }} - env: - SKIP_WASM_BUILD: 1 steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Set rust version from env file @@ -491,18 +450,16 @@ jobs: runs-on: ubuntu-latest name: All test misc tests passed # If any new job gets added, be sure to add it to this array - # NOTE: test-pezframe-examples-compile-to-wasm removed - disabled due to serde_core wasm32 issue - # NOTE: test-deterministic-wasm removed - disabled due to serde_core wasm32 issue (requires WASM builds) needs: - test-full-crypto-feature - # - test-pezframe-examples-compile-to-wasm # disabled - serde_core wasm32 issue + - test-pezframe-examples-compile-to-wasm - test-pezframe-ui + - test-deterministic-wasm - cargo-check-benches - pez-node-bench-regression-guard - test-node-metrics - check-tracing - cargo-check-each-crate - # - test-deterministic-wasm # disabled - serde_core wasm32 issue (requires WASM builds) # - cargo-hfuzz remove from required for now, as it's flaky if: always() && !cancelled() steps: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e950f04a..5e843e8a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -19,11 +19,9 @@ jobs: uses: ./.github/workflows/reusable-preflight.yml # This job runs all benchmarks defined in the `/bin/node/runtime` once to check that there are no errors. - # TEMPORARILY DISABLED: Requires WASM but serde_core + Rust 1.88 + wasm32 bug prevents WASM build - # Tracking: https://github.com/pezkuwichain/pezkuwi-sdk/issues/358 quick-benchmarks: needs: [preflight] - if: false # Disabled until serde_core upstream fix + if: ${{ needs.preflight.outputs.changes_rust }} runs-on: ${{ needs.preflight.outputs.RUNNER }} timeout-minutes: 45 container: @@ -56,8 +54,6 @@ jobs: container: image: ${{ needs.preflight.outputs.IMAGE }} continue-on-error: true # this rarely triggers in practice - env: - SKIP_WASM_BUILD: 1 steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -81,7 +77,6 @@ jobs: container: image: ${{ needs.preflight.outputs.IMAGE }} env: - SKIP_WASM_BUILD: 1 CARGO_INCREMENTAL: 0 steps: - name: Checkout