diff --git a/.github/workflows/CI.yaml b/.github/workflows/CI.yaml index 68d10460a56..549775ca944 100644 --- a/.github/workflows/CI.yaml +++ b/.github/workflows/CI.yaml @@ -21,13 +21,13 @@ jobs: check: uses: ./.github/workflows/check.yml - build: - uses: ./.github/workflows/build.yml - with: - macos: true - win-native: true - release: true - production: true + #build: + # uses: ./.github/workflows/build.yml + # with: + # macos: true + # win-native: true + # release: true + # production: true upload: if: github.event_name == 'push' && github.ref_name == 'master' diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 64343301193..6276f9c5919 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -10,92 +10,92 @@ env: BINARYEN_VERSION: version_111 jobs: - linux: - runs-on: [kuberunner, github-runner-01] - env: - RUSTUP_HOME: /tmp/rustup_home - steps: - - name: "ACTIONS: Checkout" - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: "Install: Set cargo path" - run: echo "/tmp/cargo/bin" >> $GITHUB_PATH - - - name: "Install: Rust toolchain" - uses: dsherret/rust-toolchain-file@v1 - - - name: "Install: Foundry" - uses: foundry-rs/foundry-toolchain@v1 - with: - version: nightly - - - name: "Install: Node.js" - uses: actions/setup-node@v4 - with: - node-version: 20.x - - - name: "Show: Versioning" - run: | - ./scripts/gear.sh show - forge --version - - - name: "Check: ethexe contracts" - run: | - cd ethexe/contracts - forge fmt --check - forge build --sizes - forge test -vvv - - - name: "Check formatting: Gear" - run: ./scripts/gear.sh format gear --check - - - name: "Check formatting: Doc" - run: ./scripts/gear.sh format doc --check - - - name: "Check clippy: Gear" - run: ./scripts/gear.sh clippy gear --all-targets --all-features --locked - - - name: "Check clippy: Examples" - run: ./scripts/gear.sh clippy examples --all-targets --locked - - - name: "Test: Doc tests" - run: ./scripts/gear.sh test docs - - - name: "Test: Changes in gsdk generated code" - run: | - GENERATED_CODE="gsdk/src/metadata/generated.rs" - ./scripts/update-gsdk-metadata.sh - if [[ $(git diff --stat $GENERATED_CODE) != '' ]]; then - echo "Changes found in the gsdk generated code ($GENERATED_CODE). Please update it following the instructions in \`gsdk/HOW-TO-UPDATE.md\`." - git --no-pager diff $GENERATED_CODE - exit 1 - fi - - - name: "Test: Wasm-builder recommended toolchain matches rust-toolchain.toml" - run: | - TOOLCHAIN=$(grep 'channel' rust-toolchain.toml | cut -d '"' -f 2) - CARGO_TOOLCHAIN="utils/wasm-optimizer/src/cargo_toolchain.rs" - if ! grep -q "$TOOLCHAIN" $CARGO_TOOLCHAIN; then - echo "Please update PINNED_NIGHTLY_TOOLCHAIN constant in $CARGO_TOOLCHAIN to match rust-toolchain.toml." - exit 1 - fi - - - name: "Install: Rust stable toolchain" - uses: dtolnay/rust-toolchain@stable - with: - targets: wasm32-unknown-unknown - components: llvm-tools - - - name: "Check: Compiling gstd on stable" - run: | - cargo +stable check -p gstd --target wasm32-unknown-unknown - cargo +stable check --manifest-path utils/wasm-builder/test-program/Cargo.toml - cargo +stable check --manifest-path utils/cargo-gbuild/test-program/Cargo.toml --workspace --target wasm32-unknown-unknown - - - name: "Check: crates-io packages publishing" - run: cargo +stable run --release -p crates-io publish --simulate --registry-path /tmp/cargo-http-registry + #linux: + # runs-on: [kuberunner, github-runner-01] + # env: + # RUSTUP_HOME: /tmp/rustup_home + # steps: + # - name: "ACTIONS: Checkout" + # uses: actions/checkout@v4 + # with: + # submodules: recursive + + # - name: "Install: Set cargo path" + # run: echo "/tmp/cargo/bin" >> $GITHUB_PATH + + # - name: "Install: Rust toolchain" + # uses: dsherret/rust-toolchain-file@v1 + + # - name: "Install: Foundry" + # uses: foundry-rs/foundry-toolchain@v1 + # with: + # version: nightly + + # - name: "Install: Node.js" + # uses: actions/setup-node@v4 + # with: + # node-version: 20.x + + # - name: "Show: Versioning" + # run: | + # ./scripts/gear.sh show + # forge --version + + # - name: "Check: ethexe contracts" + # run: | + # cd ethexe/contracts + # forge fmt --check + # forge build --sizes + # forge test -vvv + + # - name: "Check formatting: Gear" + # run: ./scripts/gear.sh format gear --check + + # - name: "Check formatting: Doc" + # run: ./scripts/gear.sh format doc --check + + # - name: "Check clippy: Gear" + # run: ./scripts/gear.sh clippy gear --all-targets --all-features --locked + + # - name: "Check clippy: Examples" + # run: ./scripts/gear.sh clippy examples --all-targets --locked + + # - name: "Test: Doc tests" + # run: ./scripts/gear.sh test docs + + # - name: "Test: Changes in gsdk generated code" + # run: | + # GENERATED_CODE="gsdk/src/metadata/generated.rs" + # ./scripts/update-gsdk-metadata.sh + # if [[ $(git diff --stat $GENERATED_CODE) != '' ]]; then + # echo "Changes found in the gsdk generated code ($GENERATED_CODE). Please update it following the instructions in \`gsdk/HOW-TO-UPDATE.md\`." + # git --no-pager diff $GENERATED_CODE + # exit 1 + # fi + + # - name: "Test: Wasm-builder recommended toolchain matches rust-toolchain.toml" + # run: | + # TOOLCHAIN=$(grep 'channel' rust-toolchain.toml | cut -d '"' -f 2) + # CARGO_TOOLCHAIN="utils/wasm-optimizer/src/cargo_toolchain.rs" + # if ! grep -q "$TOOLCHAIN" $CARGO_TOOLCHAIN; then + # echo "Please update PINNED_NIGHTLY_TOOLCHAIN constant in $CARGO_TOOLCHAIN to match rust-toolchain.toml." + # exit 1 + # fi + + # - name: "Install: Rust stable toolchain" + # uses: dtolnay/rust-toolchain@stable + # with: + # targets: wasm32-unknown-unknown + # components: llvm-tools + + # - name: "Check: Compiling gstd on stable" + # run: | + # cargo +stable check -p gstd --target wasm32-unknown-unknown + # cargo +stable check --manifest-path utils/wasm-builder/test-program/Cargo.toml + # cargo +stable check --manifest-path utils/cargo-gbuild/test-program/Cargo.toml --workspace --target wasm32-unknown-unknown + + # - name: "Check: crates-io packages publishing" + # run: cargo +stable run --release -p crates-io publish --simulate --registry-path /tmp/cargo-http-registry fuzzer: runs-on: [kuberunner, github-runner-01] @@ -111,30 +111,35 @@ jobs: - name: "ACTIONS: Checkout" uses: actions/checkout@v4 - - name: "MOUNT: Logs path" + - name: "Install deps" run: | - FUZZER_LOGS_PATH=/mnt/fuzzer_logs - sudo mkdir -p $FUZZER_LOGS_PATH - sudo ln -s $FUZZER_LOGS_PATH/artifacts $PWD/utils/runtime-fuzzer/fuzz/artifacts - sudo ln -s $FUZZER_LOGS_PATH/proptest-regressions $PWD/utils/runtime-fuzzer/proptest-regressions + apt update + apt install -y xxd + + #- name: "MOUNT: Logs path" + # run: | + # FUZZER_LOGS_PATH=/mnt/fuzzer_logs + # sudo mkdir -p $FUZZER_LOGS_PATH + # sudo ln -s $FUZZER_LOGS_PATH/artifacts $PWD/utils/runtime-fuzzer/fuzz/artifacts + # sudo ln -s $FUZZER_LOGS_PATH/proptest-regressions $PWD/utils/runtime-fuzzer/proptest-regressions - - name: "Install: Set cargo path" - run: echo "/tmp/cargo/bin" >> $GITHUB_PATH + #- name: "Install: Set cargo path" + # run: echo "/tmp/cargo/bin" >> $GITHUB_PATH - - name: "Install: Rust toolchain" - uses: dsherret/rust-toolchain-file@v1 + #- name: "Install: Rust toolchain" + # uses: dsherret/rust-toolchain-file@v1 - - name: "Install: cargo-nextest" - run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin + #- name: "Install: cargo-nextest" + # run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin - - name: Install cargo-fuzz - run: cargo install cargo-fuzz + #- name: Install cargo-fuzz + # run: cargo install cargo-fuzz - - name: "Run runtime-fuzzer crate tests" - run: ./scripts/gear.sh test fuzzer-tests + #- name: "Run runtime-fuzzer crate tests" + # run: ./scripts/gear.sh test fuzzer-tests - - name: "Check fuzzer competence with mutation test" - run: ./scripts/check-fuzzer.sh + #- name: "Check fuzzer competence with mutation test" + # run: ./scripts/check-fuzzer.sh - name: "Check lazy pages fuzzer with smoke test" run: ./scripts/check-lazy-pages-fuzzer.sh diff --git a/utils/lazy-pages-fuzzer/src/lib.rs b/utils/lazy-pages-fuzzer/src/lib.rs index e704888e393..a8bce2ad6c8 100644 --- a/utils/lazy-pages-fuzzer/src/lib.rs +++ b/utils/lazy-pages-fuzzer/src/lib.rs @@ -78,7 +78,7 @@ struct RunResult { impl RunResult { fn verify_equality(wasmer_res: Self, wasmi_res: Self) { assert_eq!(wasmer_res.gas_global, wasmi_res.gas_global); - assert_eq!(wasmer_res.pages.len(), wasmi_res.pages.len()); + assert_ne!(wasmer_res.pages.len(), wasmi_res.pages.len()); for ( (wasmer_addr, (wasmer_page_info, wasmer_page_mem)),