diff --git a/.github/workflows/openrpc-testgen-v2.yaml b/.github/workflows/openrpc-testgen-v2.yaml deleted file mode 100644 index 34379892d9..0000000000 --- a/.github/workflows/openrpc-testgen-v2.yaml +++ /dev/null @@ -1,150 +0,0 @@ -name: openrpc-testgenv2 - -on: - workflow_dispatch: - -env: - CARGO_TERM_COLOR: always - RUST_VERSION: 1.80.0 - -jobs: - build: - runs-on: arc-runner-set - steps: - - name: Checkout main repository - uses: actions/checkout@v3 - - - name: Install build dependencies - run: | - sudo apt-get update - sudo apt-get install -y build-essential libclang-dev - - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - - - name: Cache Rust dependencies - uses: Swatinem/rust-cache@v2 - - - name: Build katana - run: | - cargo build --release --bin katana - mkdir -p bins - cp ./target/release/katana bins/ - - - name: Upload katana binary - uses: actions/upload-artifact@v4 - with: - name: dojo-bins - path: bins - - test: - needs: build - runs-on: arc-runner-set - steps: - - name: Checkout main repository - uses: actions/checkout@v3 - - - name: Install build dependencies - run: | - sudo apt-get update - sudo apt-get install -y build-essential libclang-dev git curl bash - - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - - - name: Cache Rust dependencies - uses: Swatinem/rust-cache@v2 - - - name: Install asdf - run: | - git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.1 - echo ". $HOME/.asdf/asdf.sh" >> ~/.bashrc - echo ". $HOME/.asdf/completions/asdf.bash" >> ~/.bashrc - source ~/.bashrc - - - name: Set PATH for asdf - run: | - echo "PATH=$HOME/.asdf/bin:$HOME/.asdf/shims:$PATH" >> $GITHUB_ENV - - - name: Install Scarb - run: | - source ~/.asdf/asdf.sh - asdf plugin add scarb - asdf install scarb 2.8.4 - asdf global scarb 2.8.4 - shell: bash - - - name: Verify Scarb installation - run: | - scarb --version - shell: bash - - - name: Cache target directory - uses: actions/cache@v3 - with: - path: katana-runner/target - key: ${{ runner.os }}-cargo-${{ hashFiles('katana-runner/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo- - - - name: Download katana binary - uses: actions/download-artifact@v4 - with: - name: dojo-bins - path: /tmp/bins - - - name: Make katana executable - run: | - chmod +x /tmp/bins/katana - - - name: Start katana node - run: | - /tmp/bins/katana & - - until curl -s http://127.0.0.1:5050 >/dev/null; do - echo "Waiting for Katana to be ready..." - sleep 5 - done - - - name: Checkout katana-runner repository - uses: actions/checkout@v3 - with: - repository: neotheprogramist/starknet-rpc-tests - path: katana-runner - - - name: Scarb build - run: | - cd katana-runner - scarb build - - - name: Verify Scarb build output - run: | - cd katana-runner - ls -la target/dev/ - shell: bash - - - name: Build openrpc-testgen-runner - run: | - cd katana-runner - cargo build --release --features katana - - - name: Make openrpc-testgen-runner executable - run: | - chmod +x katana-runner/target/release/openrpc-testgen-runner - - - name: Run openrpc-testgen-runner binary - run: | - cd katana-runner - target/release/openrpc-testgen-runner \ - --urls "http://127.0.0.1:5050" \ - --paymaster-account-address "0x127fd5f1fe78a71f8bcd1fec63e3fe2f0486b6ecd5c86a0466c3a21fa5cfcec" \ - --paymaster-private-key "0xc5b2fcab997346f3ea1c00b002ecf6f382c5f9c9659a3894eb783c5320f912" \ - --udc-address "0x41a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf" \ - --account-class-hash "0x07dc7899aa655b0aae51eadff6d801a58e97dd99cf4666ee59e704249e51adf2" - - - diff --git a/.github/workflows/openrpc-testgen-v3.yaml b/.github/workflows/openrpc-testgen-v3.yaml deleted file mode 100644 index 07e279e0e9..0000000000 --- a/.github/workflows/openrpc-testgen-v3.yaml +++ /dev/null @@ -1,153 +0,0 @@ -name: openrpc-testgenv3 - -on: - workflow_dispatch: - -env: - CARGO_TERM_COLOR: always - RUST_VERSION: 1.80.0 - -jobs: - build: - runs-on: arc-runner-set - steps: - - name: Checkout main repository - uses: actions/checkout@v3 - - - name: Install build dependencies - run: | - sudo apt-get update - sudo apt-get install -y build-essential libclang-dev - - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - - - name: Cache Rust dependencies - uses: Swatinem/rust-cache@v2 - - - name: Build katana - run: | - cargo build --release --bin katana - mkdir -p bins - cp ./target/release/katana bins/ - - - name: Upload katana binary - uses: actions/upload-artifact@v4 - with: - name: dojo-bins - path: bins - - test: - needs: build - runs-on: arc-runner-set - env: - URLS: "http://127.0.0.1:5050" - PAYMASTER_PRIVATE_KEY: "0xc5b2fcab997346f3ea1c00b002ecf6f382c5f9c9659a3894eb783c5320f912" - PAYMASTER_ACCOUNT_ADDRESS: "0x127fd5f1fe78a71f8bcd1fec63e3fe2f0486b6ecd5c86a0466c3a21fa5cfcec" - UDC_ADDRESS: "0x41a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf" - ACCOUNT_CLASS_HASH: "0x07dc7899aa655b0aae51eadff6d801a58e97dd99cf4666ee59e704249e51adf2" - steps: - - name: Checkout main repository - uses: actions/checkout@v3 - - - name: Install build dependencies - run: | - sudo apt-get update - sudo apt-get install -y build-essential libclang-dev git curl bash - - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - - - name: Cache Rust dependencies - uses: Swatinem/rust-cache@v2 - - - name: Install asdf - run: | - git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.1 - echo ". $HOME/.asdf/asdf.sh" >> ~/.bashrc - echo ". $HOME/.asdf/completions/asdf.bash" >> ~/.bashrc - source ~/.bashrc - - - name: Set PATH for asdf - run: | - echo "PATH=$HOME/.asdf/bin:$HOME/.asdf/shims:$PATH" >> $GITHUB_ENV - - - name: Install Scarb - run: | - source ~/.asdf/asdf.sh - asdf plugin add scarb - asdf install scarb 2.8.4 - asdf global scarb 2.8.4 - shell: bash - - - name: Verify Scarb installation - run: | - scarb --version - shell: bash - - - name: Cache target directory - uses: actions/cache@v3 - with: - path: katana-runner/target - key: ${{ runner.os }}-cargo-${{ hashFiles('katana-runner/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo- - - - name: Download katana binary - uses: actions/download-artifact@v4 - with: - name: dojo-bins - path: /tmp/bins - - - name: Make katana executable - run: | - chmod +x /tmp/bins/katana - - - name: Start katana node - run: | - /tmp/bins/katana & - - until curl -s http://127.0.0.1:5050 >/dev/null; do - echo "Waiting for Katana to be ready..." - sleep 5 - done - - - name: Checkout katana-runner repository - uses: actions/checkout@v3 - with: - repository: neotheprogramist/starknet-rpc-tests - path: katana-runner - - - name: Scarb build - run: | - cd katana-runner - scarb build - - - name: Verify Scarb build output - run: | - cd katana-runner - ls -la target/dev/ - shell: bash - - - name: Build openrpc-testgen-runner - run: | - cd katana-runner - cargo build --release --features katana - - - name: Make openrpc-testgen-runner executable - run: | - chmod +x katana-runner/target/release/openrpc-testgen-runner - - - name: Run openrpc-testgen-runner binary - run: | - cd katana-runner - target/release/openrpc-testgen-runner \ - --urls "${URLS}" \ - --paymaster-account-address "${PAYMASTER_ACCOUNT_ADDRESS}" \ - --paymaster-private-key "${PAYMASTER_PRIVATE_KEY}" \ - --udc-address "${UDC_ADDRESS}" \ - --account-class-hash "${ACCOUNT_CLASS_HASH}" diff --git a/.github/workflows/openrpc-testgen-v4.yaml b/.github/workflows/openrpc-testgen-v4.yaml new file mode 100644 index 0000000000..1fe3656650 --- /dev/null +++ b/.github/workflows/openrpc-testgen-v4.yaml @@ -0,0 +1,211 @@ +name: openrpc-testgenv4 + +on: + push: + branches: + - 'uacias/**' + workflow_dispatch: + +env: + CARGO_TERM_COLOR: always + RUST_VERSION: 1.80.0 + +jobs: + build: + runs-on: arc-runner-set + steps: + - name: Checkout main repository + uses: actions/checkout@v3 + + - name: Install build dependencies + run: | + sudo apt-get update + sudo apt-get install -y build-essential libclang-dev + + - name: Install Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + + - name: Cache Rust dependencies + uses: Swatinem/rust-cache@v2 + + - name: Build katana + run: | + cargo build --release --bin katana + mkdir -p bins + cp ./target/release/katana bins/ + + - name: Upload katana binary + uses: actions/upload-artifact@v4 + with: + name: dojo-bins + path: bins + + test: + needs: build + runs-on: arc-runner-set + env: + KATANA_ADDR: "127.0.0.1" + KATANA_PORT: "5050" + KATANA_NO_MINING_PORT: "5051" + KATANA_NO_FEE_PORT: "5052" + KATANA_NO_ACCOUNT_VALIDATION_PORT: "5053" + KATANA_OPENRPC_PORT: "5054" + PAYMASTER_PRIVATE_KEY: "0xc5b2fcab997346f3ea1c00b002ecf6f382c5f9c9659a3894eb783c5320f912" + PAYMASTER_ACCOUNT_ADDRESS: "0x127fd5f1fe78a71f8bcd1fec63e3fe2f0486b6ecd5c86a0466c3a21fa5cfcec" + UDC_ADDRESS: "0x41a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf" + ACCOUNT_CLASS_HASH: "0x07dc7899aa655b0aae51eadff6d801a58e97dd99cf4666ee59e704249e51adf2" + steps: + - name: Checkout main repository + uses: actions/checkout@v3 + + - name: Install build dependencies + run: | + sudo apt-get update + sudo apt-get install -y build-essential libclang-dev git curl bash libssl-dev pkg-config + + - name: Install Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + + - name: Cache Rust dependencies + uses: Swatinem/rust-cache@v2 + + - name: Install Scarb via script + run: | + export PATH="$HOME/.local/bin:$HOME/.cargo/bin:$PATH" + curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | bash -s -- -v 2.8.4 + echo "$HOME/.local/bin" >> $GITHUB_PATH + + - name: Cache target directory + uses: actions/cache@v3 + with: + path: katana-runner/target + key: ${{ runner.os }}-cargo-${{ hashFiles('katana-runner/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo- + + - name: Download katana binary + uses: actions/download-artifact@v4 + with: + name: dojo-bins + path: /tmp/bins + + - name: Set permissions for katana + run: | + chmod +x /tmp/bins/katana + + - name: Start katana nodes + run: | + /tmp/bins/katana \ + --http.port "${KATANA_PORT}" \ + --http.addr "${KATANA_ADDR}" \ + --silent \ + & + /tmp/bins/katana \ + --http.port "${KATANA_OPENRPC_PORT}" \ + --http.addr "${KATANA_ADDR}" \ + --silent \ + & + /tmp/bins/katana \ + --http.port "${KATANA_NO_MINING_PORT}" \ + --http.addr "${KATANA_ADDR}" \ + --silent \ + --no-mining \ + --dev \ + & + /tmp/bins/katana \ + --http.port "${KATANA_NO_FEE_PORT}" \ + --http.addr "${KATANA_ADDR}" \ + --silent \ + --dev \ + --dev.no-fee \ + & + /tmp/bins/katana \ + --http.port "${KATANA_NO_ACCOUNT_VALIDATION_PORT}" \ + --http.addr "${KATANA_ADDR}" \ + --silent \ + --dev \ + --dev.no-account-validation \ + & + + + - name: Checkout katana-runner repository + uses: actions/checkout@v3 + with: + repository: neotheprogramist/starknet-rpc-tests + path: katana-runner + + - name: Scarb build + run: | + scarb build + working-directory: katana-runner + + - name: Build openrpc-testgen-runner + run: | + cargo build --release --features "openrpc katana katana_no_mining katana_no_fee katana_no_account_validation" -p openrpc-testgen -p openrpc-testgen-runner + working-directory: katana-runner + + - name: Run Katana Suite + run: | + URLS="http://${KATANA_ADDR}:${KATANA_PORT}" + target/release/openrpc-testgen-runner \ + --urls "${URLS}" \ + --paymaster-account-address "${PAYMASTER_ACCOUNT_ADDRESS}" \ + --paymaster-private-key "${PAYMASTER_PRIVATE_KEY}" \ + --udc-address "${UDC_ADDRESS}" \ + --account-class-hash "${ACCOUNT_CLASS_HASH}" \ + --suite katana + working-directory: katana-runner + + - name: Run OpenRPC Suite + run: | + URLS="http://${KATANA_ADDR}:${KATANA_OPENRPC_PORT}" + target/release/openrpc-testgen-runner \ + --urls "${URLS}" \ + --paymaster-account-address "${PAYMASTER_ACCOUNT_ADDRESS}" \ + --paymaster-private-key "${PAYMASTER_PRIVATE_KEY}" \ + --udc-address "${UDC_ADDRESS}" \ + --account-class-hash "${ACCOUNT_CLASS_HASH}" \ + --suite open-rpc + working-directory: katana-runner + + - name: Run Katana No Mining Suite + run: | + URLS="http://${KATANA_ADDR}:${KATANA_NO_MINING_PORT}" + target/release/openrpc-testgen-runner \ + --urls "${URLS}" \ + --paymaster-account-address "${PAYMASTER_ACCOUNT_ADDRESS}" \ + --paymaster-private-key "${PAYMASTER_PRIVATE_KEY}" \ + --udc-address "${UDC_ADDRESS}" \ + --account-class-hash "${ACCOUNT_CLASS_HASH}" \ + --suite katana-no-mining + working-directory: katana-runner + + - name: Run Katana No Fee Suite + run: | + URLS="http://${KATANA_ADDR}:${KATANA_NO_FEE_PORT}" + target/release/openrpc-testgen-runner \ + --urls "${URLS}" \ + --paymaster-account-address "${PAYMASTER_ACCOUNT_ADDRESS}" \ + --paymaster-private-key "${PAYMASTER_PRIVATE_KEY}" \ + --udc-address "${UDC_ADDRESS}" \ + --account-class-hash "${ACCOUNT_CLASS_HASH}" \ + --suite katana-no-fee + working-directory: katana-runner + + - name: Run Katana No Account Validation Suite + run: | + URLS="http://${KATANA_ADDR}:${KATANA_NO_ACCOUNT_VALIDATION_PORT}" + target/release/openrpc-testgen-runner \ + --urls "${URLS}" \ + --paymaster-account-address "${PAYMASTER_ACCOUNT_ADDRESS}" \ + --paymaster-private-key "${PAYMASTER_PRIVATE_KEY}" \ + --udc-address "${UDC_ADDRESS}" \ + --account-class-hash "${ACCOUNT_CLASS_HASH}" \ + --suite katana-no-account-validation + working-directory: katana-runner + + diff --git a/.github/workflows/openrpc-testgen.yml b/.github/workflows/openrpc-testgen.yml deleted file mode 100644 index 343aaecb78..0000000000 --- a/.github/workflows/openrpc-testgen.yml +++ /dev/null @@ -1,95 +0,0 @@ -name: openrpc-testgen - -on: - workflow_dispatch: - -env: - CARGO_TERM_COLOR: always - RUST_VERSION: 1.80.0 - -jobs: - build: - runs-on: arc-runner-set - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Install build dependencies - run: | - sudo apt-get update - sudo apt-get install -y build-essential libclang-dev - - - name: Install Podman - run: | - sudo apt-get update - sudo apt-get install -y podman - - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - - - name: Cache Rust dependencies - uses: Swatinem/rust-cache@v2 - - - name: Build katana - run: | - cargo build -r --bin katana - mkdir -p bins - cp ./target/release/katana bins/ - - - name: Upload katana binary - uses: actions/upload-artifact@v4 - with: - name: dojo-bins - path: bins - - test: - needs: build - runs-on: arc-runner-set - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Install build dependencies - run: | - sudo apt-get update - sudo apt-get install -y build-essential libclang-dev - - - name: Install Podman - run: | - sudo apt-get install -y podman - - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - - - name: Cache Rust dependencies - uses: Swatinem/rust-cache@v2 - - - name: Download katana binary - uses: actions/download-artifact@v4 - with: - name: dojo-bins - path: /tmp/bins - - - name: Make katana executable - run: | - export PATH=/tmp/bins:$PATH - chmod +x /tmp/bins/katana - - - name: Start katana node - run: | - /tmp/bins/katana & - - until curl -s http://127.0.0.1:5050 >/dev/null; do - echo "Waiting for Katana to be ready..." - sleep 5 - done - - - name: Run testgen-runner Podman container - run: | - sudo podman run --rm \ - uacias/katana-runner:v0.0.1 -