From 72fa61da65e413f4b01e67f9aae1937983e98e98 Mon Sep 17 00:00:00 2001 From: ddidderr Date: Sat, 20 Jun 2026 20:33:51 +0200 Subject: [PATCH] feat(peer-cli): add just recipe for scenario matrix Add a peer-cli-tests just recipe as the public entry point for the existing extended scenario runner. The recipe depends on peer-cli-image, so Docker uses its normal layer cache to decide whether the image needs rebuilding before the Python harness runs. This gives contributors one memorable command for the full S1-S47 matrix while still allowing selected scenarios as positional arguments. The underlying runner continues to own container topology and JSONL command/event handling. Test Plan: - just --list - just --dry-run peer-cli-tests S39 S40 - git diff --check Refs: PEER_CLI_SCENARIOS.md --- crates/lanspread-peer-cli/README.md | 1 + justfile | 3 +++ 2 files changed, 4 insertions(+) diff --git a/crates/lanspread-peer-cli/README.md b/crates/lanspread-peer-cli/README.md index 8a5d0a0..f67e0f2 100644 --- a/crates/lanspread-peer-cli/README.md +++ b/crates/lanspread-peer-cli/README.md @@ -9,6 +9,7 @@ and writes JSONL events, results, and errors to stdout. ```bash just peer-cli-build just peer-cli-image +just peer-cli-tests just peer-cli-run alpha ``` diff --git a/justfile b/justfile index ca3e369..8381121 100644 --- a/justfile +++ b/justfile @@ -47,6 +47,9 @@ peer-cli-image: mkdir -p "$DOCKER_CONFIG" docker build -f crates/lanspread-peer-cli/Dockerfile -t lanspread-peer-cli:dev . +peer-cli-tests *SCENARIOS: peer-cli-image + python3 crates/lanspread-peer-cli/scripts/run_extended_scenarios.py {{ SCENARIOS }} + # macvlan: each peer container gets its own MAC/IP on the real LAN. # Override on the command line if your LAN differs, e.g. # just LANSPREAD_PARENT_IFACE=enp4s0 LANSPREAD_SUBNET=10.0.0.0/24 LANSPREAD_GATEWAY=10.0.0.1 peer-cli-net