[AZ-602] e2e compose: set all three replay BUILD_* flags

REPLAY_BUILD_FLAGS contains three names but the test compose files
only ever set BUILD_REPLAY_SINK_JSONL. Every prior Reality-Gate run
hit the auto-sync hard-fail before reaching the VideoFileFrameSource
or TlogReplayFcAdapter build-flag gates, so the omission stayed
hidden. AZ-611 makes tests bypass auto-sync, which exposes the next
gate: VideoFileFrameSource raises FrameSourceConfigError
("BUILD_VIDEO_FILE_FRAME_SOURCE is OFF; ... unavailable").

Mirror the airborne binary's flag requirements in both
docker-compose.test.yml (Colima Tier-1) and
docker-compose.test.jetson.yml (Jetson Tier-2). Comment block in
both files documents why all three must be ON.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Oleksandr Bezdieniezhnykh
2026-05-18 09:04:35 +03:00
parent bd41956164
commit 324bbd6367
2 changed files with 19 additions and 2 deletions
+8
View File
@@ -85,6 +85,14 @@ services:
TILE_CACHE_PATH: /var/lib/gps-denied/tiles
MAVLINK_SIGNING_KEY: /opt/tests/fixtures/mavlink_signing/dev_key
RUN_REPLAY_E2E: "1"
# Replay-mode build flags (Invariant 9). See identical block in
# docker-compose.test.yml — all three are required for the
# composition root to construct the replay strategies. The
# original harness only set BUILD_REPLAY_SINK_JSONL because
# every Reality-Gate run died at auto-sync before the other
# two flags were checked.
BUILD_VIDEO_FILE_FRAME_SOURCE: "ON"
BUILD_TLOG_REPLAY_ADAPTER: "ON"
BUILD_REPLAY_SINK_JSONL: "ON"
volumes:
- ./tests:/opt/tests:ro
+11 -2
View File
@@ -53,8 +53,17 @@ services:
# Track-1 bootstrap harness: enable the heavy replay-pipeline tests
# in tests/e2e/replay/. AZ-602 / AZ-603 / AZ-604.
RUN_REPLAY_E2E: "1"
# NoopMavlinkTransport / JsonlReplaySink build flag — the binary
# refuses to construct the replay transport without it (AZ-612).
# Replay-mode build flags (Invariant 9; see
# _replay_branch.REPLAY_BUILD_FLAGS). All three must be ON for
# the replay path to construct — VideoFileFrameSource gates
# cv2.VideoCapture, TlogReplayFcAdapter gates pymavlink, and
# JsonlReplaySink gates the noop-transport sink. The Reality
# Gate e2e was originally validated only at the auto-sync
# layer (which fired before any of these three were touched);
# since AZ-611 lets tests bypass auto-sync, the next two
# gates surface — hence all three are required here.
BUILD_VIDEO_FILE_FRAME_SOURCE: "ON"
BUILD_TLOG_REPLAY_ADAPTER: "ON"
BUILD_REPLAY_SINK_JSONL: "ON"
volumes:
- ./tests:/opt/tests:ro