Testing new bin. #23
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: quando | |
on: | |
push: | |
branches: | |
- 'feat/**' | |
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: | |
- 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 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- 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 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: dojo-bins | |
path: /tmp/bins | |
- run: chmod +x /tmp/bins/katana | |
- name: Start katana nodes | |
run: | | |
declare -A KATANA_CONFIG=( | |
["${KATANA_PORT}"]="" | |
["${KATANA_OPENRPC_PORT}"]="" | |
["${KATANA_NO_MINING_PORT}"]="--no-mining --dev" | |
["${KATANA_NO_FEE_PORT}"]="--dev --dev.no-fee" | |
["${KATANA_NO_ACCOUNT_VALIDATION_PORT}"]="--dev --dev.no-account-validation" | |
) | |
for PORT in "${!KATANA_CONFIG[@]}"; do | |
/tmp/bins/katana \ | |
--http.port "${PORT}" \ | |
--http.addr "${KATANA_ADDR}" \ | |
--silent \ | |
${KATANA_CONFIG[$PORT]} & | |
done | |
- 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 | |