Skip to content

Commit be834c0

Browse files
committed
Properly wait for things that are spawned as bg processes
1 parent 7b6e921 commit be834c0

File tree

1 file changed

+26
-9
lines changed

1 file changed

+26
-9
lines changed

.github/workflows/rust.yml

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,18 +71,24 @@ jobs:
7171
- name: Run the storage-service instance
7272
run: |
7373
cargo run --release -p linera-storage-service -- memory --endpoint $LINERA_STORAGE_SERVICE &
74-
- name: Run the validators
74+
- name: Wait for storage service to be ready
75+
run: |
76+
timeout 600 bash -c 'until nc -z 127.0.0.1 1235; do sleep 1; done'
77+
- name: Build binaries
78+
run: |
79+
cargo build --features storage-service --bin linera-server --bin linera-proxy --bin linera
80+
- name: Run the validators with faucet
7581
run: |
76-
cargo build --features storage-service
7782
mkdir /tmp/local-linera-net
78-
cargo run --features storage-service --bin linera -- net up --storage service:tcp:$LINERA_STORAGE_SERVICE:table --policy-config testnet --path /tmp/local-linera-net --validators 4 --shards 4 &
79-
- name: Create two epochs and run the faucet
83+
cargo run --features storage-service --bin linera -- net up --storage service:tcp:$LINERA_STORAGE_SERVICE:table --policy-config testnet --path /tmp/local-linera-net --validators 4 --shards 4 --with-faucet --faucet-port 8079 --faucet-amount 1000 &
84+
- name: Wait for validators and faucet to be ready
85+
run: |
86+
timeout 600 bash -c 'until curl -s http://localhost:8079 >/dev/null; do sleep 1; done'
87+
- name: Create two epochs
8088
# See https://github.com/linera-io/linera-protocol/pull/2835 for details.
8189
run: |
82-
cargo build --bin linera
83-
cargo run --bin linera -- resource-control-policy --http-request-timeout-ms 1000
84-
cargo run --bin linera -- resource-control-policy --http-request-timeout-ms 500
85-
cargo run --bin linera -- faucet --amount 1000 --port 8079 &
90+
cargo run --bin linera -- --storage rocksdb:/tmp/policy-client.db resource-control-policy --http-request-timeout-ms 1000
91+
cargo run --bin linera -- --storage rocksdb:/tmp/policy-client.db resource-control-policy --http-request-timeout-ms 500
8692
- name: Run the remote-net tests
8793
run: |
8894
cargo test -p linera-service remote_net_grpc --features remote-net
@@ -193,6 +199,9 @@ jobs:
193199
- name: Run the storage-service instance
194200
run: |
195201
cargo run --release -p linera-storage-service -- memory --endpoint $LINERA_STORAGE_SERVICE &
202+
- name: Wait for storage service to be ready
203+
run: |
204+
timeout 900 bash -c 'until nc -z 127.0.0.1 1235; do sleep 1; done'
196205
- name: Run the benchmark test
197206
run: |
198207
cargo build --locked -p linera-service --bin linera-benchmark --features storage-service
@@ -250,6 +259,9 @@ jobs:
250259
- name: Run the storage-service instance
251260
run: |
252261
cargo run --release -p linera-storage-service -- memory --endpoint $LINERA_STORAGE_SERVICE &
262+
- name: Wait for storage service to be ready
263+
run: |
264+
timeout 900 bash -c 'until nc -z 127.0.0.1 1235; do sleep 1; done'
253265
- name: Run Ethereum tests
254266
run: |
255267
cargo test -p linera-ethereum --features ethereum
@@ -274,9 +286,14 @@ jobs:
274286
run: |
275287
cd examples
276288
cargo build --locked --release --target wasm32-unknown-unknown
277-
- name: Run the storage-service instance and the storage-service tests
289+
- name: Run the storage-service instance
278290
run: |
279291
cargo run --release -p linera-storage-service -- memory --endpoint $LINERA_STORAGE_SERVICE &
292+
- name: Wait for storage service to be ready
293+
run: |
294+
timeout 900 bash -c 'until nc -z 127.0.0.1 1235; do sleep 1; done'
295+
- name: Run the storage-service tests
296+
run: |
280297
cargo test --features storage-service -- storage_service --nocapture
281298
282299
web:

0 commit comments

Comments
 (0)