diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 08b94ccefeef..2668c1f34489 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -68,21 +68,28 @@ jobs: uses: arduino/setup-protoc@v1 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - - name: Run the storage-service instance - run: | - cargo run --release -p linera-storage-service -- memory --endpoint $LINERA_STORAGE_SERVICE & - - name: Run the validators - run: | - cargo build --features storage-service - mkdir /tmp/local-linera-net - 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 & + - name: Run the storage-service instance (in the background) + id: storage-service + uses: JarvusInnovations/background-action@v1 + with: + run: cargo run --release -p linera-storage-service -- memory --endpoint $LINERA_STORAGE_SERVICE & + wait-on: http://${{ env.LINERA_STORAGE_SERVICE }} + tail: true + - name: Run the validators (in the background) + id: validators + uses: JarvusInnovations/background-action@v1 + with: + run: | + mkdir /tmp/local-linera-net + 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 & + wait-on: http://localhost:8080 + tail: true - name: Create two epochs and run the faucet # See https://github.com/linera-io/linera-protocol/pull/2835 for details. run: | cargo build --bin linera cargo run --bin linera -- resource-control-policy --http-request-timeout-ms 1000 cargo run --bin linera -- resource-control-policy --http-request-timeout-ms 500 - cargo run --bin linera -- faucet --amount 1000 --port 8079 & - name: Run the remote-net tests run: | cargo test -p linera-service remote_net_grpc --features remote-net