From 571dd414f57e78cc81e78375b070ec2a7827c99c Mon Sep 17 00:00:00 2001 From: PJ Date: Sat, 6 Jun 2026 23:45:13 +0530 Subject: [PATCH] chore(folio): wire gates recipe, app path, and ignore gate output --- examples/folio/.gitignore | 1 + examples/folio/justfile | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/examples/folio/.gitignore b/examples/folio/.gitignore index 9ac256b..af740c7 100644 --- a/examples/folio/.gitignore +++ b/examples/folio/.gitignore @@ -8,5 +8,6 @@ app/iosApp/iosApp.xcodeproj/** .DS_Store sanderling/node_modules/ sanderling/runs/ +sanderling/gates/ .playwright-mcp/ web-*.png diff --git a/examples/folio/justfile b/examples/folio/justfile index 2bc82f7..fb7ce0c 100644 --- a/examples/folio/justfile +++ b/examples/folio/justfile @@ -7,6 +7,7 @@ duration := env_var_or_default("DURATION", "1m") seed := env_var_or_default("SEED", "0") output := env_var_or_default("OUTPUT", justfile_directory() / "sanderling" / "runs") ios_device := env_var_or_default("IOS_DEVICE", "iPhone 17 Pro") +ios_app := justfile_directory() / "app" / "iosApp" / "build" / "Build" / "Products" / "Debug-iphonesimulator" / "iosApp.app" default: @just --list @@ -118,7 +119,7 @@ ios: -destination 'platform=iOS Simulator,name={{ios_device}}' \ -derivedDataPath app/iosApp/build \ build | tail -5 - xcrun simctl install booted app/iosApp/build/Build/Products/Debug-iphonesimulator/iosApp.app + xcrun simctl install booted "{{ios_app}}" xcrun simctl launch booted app.folio # Run 'sanderling test' against the folio app. Uses a connected device if one is @@ -167,7 +168,15 @@ test-ios: --platform ios \ --spec "{{justfile_directory()}}/sanderling/spec.ts" \ --bundle-id app.folio \ + --ios-app-path "{{ios_app}}" \ "${ios_device_flag[@]}" \ --duration "{{duration}}" \ --seed "{{seed}}" \ --output "{{output}}" + +# BACKEND=simulator (default) or BACKEND=device; honors RUNS/DURATION/SEED and +# the IOS_DEVICE/--ios-device convention. `just gates --self-test` runs the +# offline analyzer tests without a device. +# Run the iOS conformance gate: five serial 3-minute runs scored against G1..G5. +gates *args: + "{{justfile_directory()}}/gates.sh" {{args}}