From 1a74d1407a50b4b9d990c371cdb206e8165c5b5d Mon Sep 17 00:00:00 2001 From: Alexey Shekhirin Date: Thu, 1 Aug 2024 18:39:02 +0100 Subject: [PATCH] feat(ci): `check_no_std` -> `check_wasm` (#9982) --- .github/assets/check_no_std.sh | 35 ------------------ .github/assets/check_wasm.sh | 65 ++++++++++++++++++++++++++++++++++ .github/workflows/lint.yml | 6 ++-- 3 files changed, 68 insertions(+), 38 deletions(-) delete mode 100755 .github/assets/check_no_std.sh create mode 100755 .github/assets/check_wasm.sh diff --git a/.github/assets/check_no_std.sh b/.github/assets/check_no_std.sh deleted file mode 100755 index 441ef5d0d..000000000 --- a/.github/assets/check_no_std.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash -set -eo pipefail - -# TODO -no_std_packages=( -# The following were confirmed not working in the past, but could be enabled if issues have been resolved -# reth-db -# reth-primitives -# reth-revm -# reth-evm -# reth-evm-ethereum -# reth-consensus -# the following are confirmed working - reth-errors - reth-ethereum-forks - reth-network-peers - reth-primitives-traits - reth-codecs -) - -for package in "${no_std_packages[@]}"; do - cmd="cargo +stable build -p $package --target wasm32-wasip1 --no-default-features" - - if [ -n "$CI" ]; then - echo "::group::$cmd" - else - printf "\n%s:\n %s\n" "$package" "$cmd" - fi - - $cmd - - if [ -n "$CI" ]; then - echo "::endgroup::" - fi -done diff --git a/.github/assets/check_wasm.sh b/.github/assets/check_wasm.sh new file mode 100755 index 000000000..f9832324c --- /dev/null +++ b/.github/assets/check_wasm.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash +set +e # Disable immediate exit on error + +# Array of crates +wasm_crates=( + # The following were confirmed not working in the past, but could be enabled if issues have been resolved + # reth-db + # reth-primitives + # reth-revm + # reth-evm + # reth-evm-ethereum + # reth-consensus + # The following are confirmed working + reth-errors + reth-ethereum-forks + reth-network-peers + reth-primitives-traits + reth-codecs +) + +# Array to hold the results +results=() +# Flag to track if any command fails +any_failed=0 + +for crate in "${wasm_crates[@]}"; do + cmd="cargo +stable build -p $crate --target wasm32-wasip1 --no-default-features" + + if [ -n "$CI" ]; then + echo "::group::$cmd" + else + printf "\n%s:\n %s\n" "$crate" "$cmd" + fi + + # Run the command and capture the return code + $cmd + ret_code=$? + + # Store the result in the dictionary + if [ $ret_code -eq 0 ]; then + results+=("✅:$crate") + else + results+=("❌:$crate") + any_failed=1 + fi + + if [ -n "$CI" ]; then + echo "::endgroup::" + fi +done + +# Sort the results by status and then by crate name +IFS=$'\n' sorted_results=($(sort <<<"${results[*]}")) +unset IFS + +# Print summary +echo -e "\nSummary of build results:" +for result in "${sorted_results[@]}"; do + status="${result%%:*}" + crate="${result##*:}" + echo "$status $crate" +done + +# Exit with a non-zero status if any command fails +exit $any_failed diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index b108ddb96..0a36d5fc0 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -45,7 +45,7 @@ jobs: env: RUSTFLAGS: -D warnings - no-std: + wasm: runs-on: ubuntu-latest timeout-minutes: 30 steps: @@ -57,8 +57,8 @@ jobs: - uses: Swatinem/rust-cache@v2 with: cache-on-failure: true - - name: Run no_std checks - run: .github/assets/check_no_std.sh + - name: Run Wasm checks + run: .github/assets/check_wasm.sh crate-checks: runs-on: ubuntu-latest