mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-02 19:17:10 +00:00
ci: install idb-companion from its tap and stop interpolating inputs
idb-companion is not in homebrew-core, so the ios leg died before it built anything. replay-ui expanded dispatch inputs into the shell.
This commit is contained in:
1 parent
f1989324a2
commit
5ad545a6ba
2 files changed
+19
-7
No files matched your search
@@ -126,8 +126,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
bun-version: "1.3.13"
|
bun-version: "1.3.13"
|
||||||
|
|
||||||
|
# idb-companion is not in homebrew-core, only in facebook/homebrew-fb, so
|
||||||
|
# it has to be named by its full tap path. xcodegen and just are core.
|
||||||
- name: Install idb-companion, xcodegen and just
|
- name: Install idb-companion, xcodegen and just
|
||||||
run: brew install idb-companion xcodegen just
|
run: brew install facebook/fb/idb-companion xcodegen just
|
||||||
|
|
||||||
- name: Set up JDK 17
|
- name: Set up JDK 17
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@v4
|
||||||
|
|||||||
@@ -4,9 +4,10 @@ name: replay-ui
|
|||||||
# and it is a demo of the product loop, not a merge gate.
|
# and it is a demo of the product loop, not a merge gate.
|
||||||
#
|
#
|
||||||
# The shape is: produce a real trace, serve it with `sanderling replay`, then run
|
# The shape is: produce a real trace, serve it with `sanderling replay`, then run
|
||||||
# a spec against that UI. Any violation fails the job, because every property in
|
# a spec against that UI. Any violation fails the job. Six of the seven
|
||||||
# replay-ui/sanderling/spec.ts is a cross-panel agreement that holds for any
|
# properties in replay-ui/sanderling/spec.ts are cross-panel agreements that hold
|
||||||
# trace.
|
# for any trace; the seventh is the stock noUncaughtExceptions. None of them
|
||||||
|
# needs recalibrating when the fixture changes.
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
@@ -89,6 +90,9 @@ jobs:
|
|||||||
echo "RUN_URL=http://127.0.0.1:8793/runs/$run_id/steps/1" >> "$GITHUB_ENV"
|
echo "RUN_URL=http://127.0.0.1:8793/runs/$run_id/steps/1" >> "$GITHUB_ENV"
|
||||||
curl -sf "http://127.0.0.1:8793/runs/$run_id/steps/1" >/dev/null
|
curl -sf "http://127.0.0.1:8793/runs/$run_id/steps/1" >/dev/null
|
||||||
|
|
||||||
|
# Inputs go through env rather than into the script text: a `${{ }}` is
|
||||||
|
# substituted before bash ever sees the line, so a seed of `$(id)` would
|
||||||
|
# run as a command.
|
||||||
- name: Fuzz the replay UI
|
- name: Fuzz the replay UI
|
||||||
run: |
|
run: |
|
||||||
./bin/sanderling test \
|
./bin/sanderling test \
|
||||||
@@ -96,10 +100,13 @@ jobs:
|
|||||||
--spec replay-ui/sanderling/spec.ts \
|
--spec replay-ui/sanderling/spec.ts \
|
||||||
--bundle-id "$RUN_URL" \
|
--bundle-id "$RUN_URL" \
|
||||||
--duration 10m \
|
--duration 10m \
|
||||||
--max-steps "${{ inputs.max-steps }}" \
|
--max-steps "$MAX_STEPS" \
|
||||||
--seed "${{ inputs.seed }}" \
|
--seed "$SEED" \
|
||||||
--exit-on-violation \
|
--exit-on-violation \
|
||||||
--output runs/dogfood
|
--output runs/dogfood
|
||||||
|
env:
|
||||||
|
SEED: ${{ inputs.seed }}
|
||||||
|
MAX_STEPS: ${{ inputs.max-steps }}
|
||||||
|
|
||||||
- name: Summarise
|
- name: Summarise
|
||||||
if: always()
|
if: always()
|
||||||
@@ -107,13 +114,16 @@ jobs:
|
|||||||
{
|
{
|
||||||
echo "### replay-ui dogfood"
|
echo "### replay-ui dogfood"
|
||||||
echo
|
echo
|
||||||
echo "- seed \`${{ inputs.seed }}\`, budget ${{ inputs.max-steps }} steps"
|
echo "- seed \`$SEED\`, budget $MAX_STEPS steps"
|
||||||
for dir in runs/dogfood/*/; do
|
for dir in runs/dogfood/*/; do
|
||||||
steps=$(wc -l < "$dir/trace.jsonl" | tr -d ' ')
|
steps=$(wc -l < "$dir/trace.jsonl" | tr -d ' ')
|
||||||
violations=$(grep -c '"violations":\[' "$dir/trace.jsonl" || true)
|
violations=$(grep -c '"violations":\[' "$dir/trace.jsonl" || true)
|
||||||
echo "- $steps steps recorded, $violations step(s) with violations"
|
echo "- $steps steps recorded, $violations step(s) with violations"
|
||||||
done
|
done
|
||||||
} >> "$GITHUB_STEP_SUMMARY"
|
} >> "$GITHUB_STEP_SUMMARY"
|
||||||
|
env:
|
||||||
|
SEED: ${{ inputs.seed }}
|
||||||
|
MAX_STEPS: ${{ inputs.max-steps }}
|
||||||
|
|
||||||
- name: Upload runs
|
- name: Upload runs
|
||||||
if: always()
|
if: always()
|
||||||
|
|||||||
Reference in new issue
Block a user