Skip to content

Commit a3c504f

Browse files
committed
ci: update chaotic devnet workflow
1 parent 0e6b603 commit a3c504f

3 files changed

Lines changed: 31 additions & 8 deletions

File tree

.ci/test_devnet.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@ for client_index in $(seq 0 $((total_clients-1))); do
9696
done
9797

9898
# Ensure all nodes are up and running.
99-
wait_for_nodes "$total_validators" "$total_clients" "$network_name"
99+
# Wait up to two minutes, as this can take long in CI.
100+
wait_for_nodes "$total_validators" "$total_clients" "$network_name" 180
100101

101102
# Wait for validators to be fully connected.
102103
log "ℹ️ Waiting for validators to be fully connected..."

.ci/utils.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -380,8 +380,9 @@ function wait_for_nodes() {
380380
local total_validators=$1
381381
local total_clients=$2
382382
local network_name=$3
383+
# Default to 60s if not provided.
384+
local max_wait=${4:-60}
383385

384-
local max_wait=60
385386
local poll_interval=1
386387

387388
SECONDS=0
@@ -401,7 +402,7 @@ function wait_for_nodes() {
401402
sleep $poll_interval
402403
done
403404

404-
log "❌ Nodes did not become ready within 60 seconds."
405+
log "❌ Nodes did not become ready within $max_wait seconds."
405406
return 1
406407
}
407408

.github/workflows/chaotic-devnet.yml

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,25 @@
11
name: Chaotic Devnet Test
22

3-
on: # TODO: adjust
4-
pull_request:
3+
# Only run on merge, or when manually triggered.
4+
on:
55
push:
6+
branches:
7+
- 'staging'
8+
- 'canary'
9+
- 'testnet'
10+
- 'mainnet'
11+
- 'ci/updated_network_delay_test' #remove this before merge
12+
workflow_dispatch:
613

714
env:
815
RUST_BACKTRACE: 1
916
CARGO_INCREMENTAL: 0
17+
# Only introduce delays between validators, not for the HTTP endpoints.
18+
PORT_RANGE: 5000-5100
1019

1120
jobs:
1221
build-snarkos:
13-
runs-on: ubuntu-latest
22+
runs-on: ubuntu-latest-m
1423

1524
steps:
1625
- name: Checkout Code
@@ -62,6 +71,18 @@ jobs:
6271
echo "$(pwd)/bin" >> $GITHUB_PATH
6372
6473
- name: Run Devnet Test with Chaos
65-
# Only introdue delay between validators, not for the HTTP endpoints.
66-
run: ./scripts/chaotic-network-runner.sh 5000-5003 ./.ci/test_devnet.sh 4 2 0 45
74+
# Run with f=1 and no clients, so the nodes do not overwhelm the runner.
75+
# Allow for up to 50 warnings per node, as network issues will create those.
76+
run: ./scripts/chaotic-network-runner.sh $PORT_RANGE ./.ci/test_devnet.sh 4 0 0 45 50
77+
78+
# These require more CPU cores, so they are disabled for now.
79+
# - name: Run Reset Quorum Minority Test with Chaos
80+
# run: ./scripts/chaotic-network-runner.sh $PORT_RANGE ./.ci/test_reset_quorum_minority.sh
81+
82+
# - name: Run Reset Quorum Majority Test with Chaos
83+
# run: ./scripts/chaotic-network-runner.sh $PORT_RANGE ./.ci/test_reset_quorum_majority.sh
84+
85+
86+
87+
6788

0 commit comments

Comments
 (0)