From 67809233d47e672d65c4ee1730e0cfc2bb23600b Mon Sep 17 00:00:00 2001 From: Pekka Enberg Date: Sun, 29 Jun 2025 09:16:46 +0300 Subject: [PATCH] github: Run simulator on pull requests --- .github/workflows/rust.yml | 11 +++++++++++ scripts/run-sim | 29 +++++++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 26206ac63..23b64eece 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -64,6 +64,17 @@ jobs: run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - run: wasm-pack build --target nodejs bindings/wasm + simulator: + runs-on: blacksmith-4vcpu-ubuntu-2404 + timeout-minutes: 20 + steps: + - uses: actions/checkout@v3 + - uses: useblacksmith/rust-cache@v3 + with: + prefix-key: "v1-rust" # can be updated if we need to reset caches due to non-trivial change in the dependencies (for example, custom env var were set for single workspace project) + - name: Install the project + run: ./scripts/run-sim --iterations 50 + test-limbo: runs-on: blacksmith-4vcpu-ubuntu-2404 timeout-minutes: 20 diff --git a/scripts/run-sim b/scripts/run-sim index 69192eaca..9985a70f3 100755 --- a/scripts/run-sim +++ b/scripts/run-sim @@ -2,6 +2,31 @@ set -e -while true; do - cargo run -p limbo_sim +iterations="" +while [[ $# -gt 0 ]]; do + case $1 in + --iterations) + iterations="$2" + shift 2 + ;; + *) + echo "Unknown option: $1" + echo "Usage: $0 [--max-iterations N]" + exit 1 + ;; + esac done + +if [[ -n "$iterations" ]]; then + echo "Running limbo_sim for $iterations iterations..." + for ((i=1; i<=iterations; i++)); do + echo "Iteration $i of $iterations" + cargo run -p limbo_sim + done + echo "Completed $iterations iterations" +else + echo "Running limbo_sim in infinite loop..." + while true; do + cargo run -p limbo_sim + done +fi