Echo rm #15
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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" | |
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_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 "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 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 | |