diff --git a/.github/workflows/godwoken-tests.yml b/.github/workflows/godwoken-tests.yml index f3b4af268..62a4f1787 100644 --- a/.github/workflows/godwoken-tests.yml +++ b/.github/workflows/godwoken-tests.yml @@ -26,9 +26,6 @@ jobs: MANUAL_BUILD_WEB3_INDEXER=true WEB3_GIT_URL="https://github.com/${{ github.repository }}" WEB3_GIT_CHECKOUT=${{ github.ref }} - MANUAL_BUILD_POLYJUICE=true - POLYJUICE_GIT_URL=https://github.com/${{ github.repository }} - POLYJUICE_GIT_CHECKOUT=${{ github.ref }} GODWOKEN_KICKER_REPO=godwokenrises/godwoken-kicker GODWOKEN_KICKER_REF=develop DOCKER_MANUAL_BUILD_IMAGE=retricsu/godwoken-manual-build:node18 diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 44b1a8d91..65c76963c 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -3,59 +3,85 @@ name: Build and Test on: [push, pull_request] jobs: - rust-clippy-and-test: - runs-on: ubuntu-latest + rustfmt-and-clippy: + runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - - name: Install Rust components - run: rustup component add rustfmt && rustup component add clippy - - uses: actions/cache@v3 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: ${{ runner.os }}-${{ runner.arch }}-cargo-test-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-${{ runner.arch }}-cargo-test - ${{ runner.os }}-${{ runner.arch }}-cargo - - name: Install moleculec v0.7.2 - run: CARGO_TARGET_DIR=target/ cargo install moleculec --version 0.7.2 - - name: Check format - run: cargo fmt -- --check - - name: Cargo clippy check - env: - RUSTFLAGS: -D warnings - run: cargo clippy --tests --all-features --all-targets + - uses: actions/checkout@v4 + with: + submodules: recursive + - name: Cache of Cargo + uses: actions/cache@v3 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-${{ runner.arch }}-cargo-clippy-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-${{ runner.arch }}-cargo-clippy + + - name: Install Rust components + run: | + cargo fmt --version || rustup component add rustfmt + cargo clippy --version || rustup component add clippy + - name: Check format + run: cargo fmt --all -- --check --verbose + - name: Cargo clippy check + env: + RUSTFLAGS: -D warnings + run: cargo clippy --tests --all-features --all-targets + + + rust-test: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Cache of Cargo + uses: actions/cache@v3 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-${{ runner.arch }}-cargo-test-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-${{ runner.arch }}-cargo-test + + - name: Cache of component.gwos-evm + id: godwoken-polyjuice-cache + uses: actions/cache@v3 + with: + path: | + gwos-evm/build/*generator* + gwos-evm/build/*validator* + key: component.gwos-evm-${{ hashFiles('gwos-evm/**') }} + - name: Build godwoken-polyjuice + if: steps.godwoken-polyjuice-cache.outputs.cache-hit != 'true' + working-directory: gwos-evm + run: | + test "$(moleculec --version)" = "Moleculec 0.7.2" \ + || cargo install moleculec --version 0.7.2 --force + git submodule update --init --recursive --depth=1 + make all-via-docker - - name: Cache of component.gwos-evm - id: godwoken-polyjuice-cache - uses: actions/cache@v3 - with: - path: | - gwos-evm/build/*generator* - gwos-evm/build/*validator* - key: component.gwos-evm-${{ hashFiles('gwos-evm/**') }} - - name: Build godwoken-polyjuice - if: steps.godwoken-polyjuice-cache.outputs.cache-hit != 'true' - working-directory: gwos-evm - run: | - git submodule update --init --recursive --depth=1 - make all-via-docker + - name: Test all targets + run: RUST_BACKTRACE=1 cargo test --all-targets - - name: Tests all targets - run: RUST_BACKTRACE=1 cargo test --all-targets test-generate-example-config: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Cache of Cargo - id: cargo-test-cache uses: actions/cache@v3 with: path: | @@ -67,6 +93,5 @@ jobs: key: ${{ runner.os }}-${{ runner.arch }}-cargo-build-${{ hashFiles('**/Cargo.lock') }} restore-keys: | ${{ runner.os }}-${{ runner.arch }}-cargo-build - ${{ runner.os }}-${{ runner.arch }}-cargo - name: Test TOML serialization run: cargo run --bin godwoken -- generate-example-config -o test.toml diff --git a/.github/workflows/web3-rust.yml b/.github/workflows/web3-rust.yml index 3d26f76ea..dfb66a766 100644 --- a/.github/workflows/web3-rust.yml +++ b/.github/workflows/web3-rust.yml @@ -27,10 +27,14 @@ jobs: - uses: actions/cache@v3 with: path: | - ~/.cargo/registry - ~/.cargo/git - target - key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }} + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cargo-web3-indexer-${{ hashFiles('Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-web3-indexer - name: Build run: cargo build --verbose - name: Check format