Repository navigation
ci(testflows): drop host ffmpeg install, use opencv-python-headless - #960
Merged
Merged
Conversation
Host ffmpeg is never invoked: session video is recorded by the selenium/video sidecar container with its own ffmpeg. The ~90 MB apt install of ffmpeg occasionally crawls at ~40 kB/s on Azure mirrors and stalls jobs for 30-40 minutes. opencv-python-headless has no X11 runtime deps, so libsm6/libxext6 are no longer needed either. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
Author
|
Local verification on Grafana
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Testflows jobs occasionally hang for 30-40 minutes in
tests/testflows/infra/setup.shonapt-get install ffmpeg libsm6 libxext6. The ffmpeg dependency tree (~90 MB) sometimes downloadsfrom
azure.archive.ubuntu.comat ~40 kB/s:latest / functions:Fetched 85.4 MB in 38min 10s (37.3 kB/s)fixed / functions:Fetched 91.5 MB in 29min 21s (52.0 kB/s)The host ffmpeg is never used. Session video is recorded by the
selenium/video:ffmpeg-8.1-*sidecar container (
se:recordVideo+video-imageininfra/config.toml), which has its own ffmpeg.The files only get copied out via the
tmp/targetmount.Changes
setup.sh: remove the secondapt-get updateand theapt-get install ffmpeg libsm6 libxext6.requirements.txt:opencv-python->opencv-python-headless(same 4.9.0.80). The headlessbuild has no X11 runtime deps, so
libsm6/libxext6are not needed.cv2is only used forcontour detection in
steps/actions.py::check_screenshot(no GUI calls).Local verification
functionssuite on Grafana latest: 13/13 scenarios OK.video.mp4was still recorded intmp/target.data_source_setup_connections(the suite that exercisescheck_screenshot/cv2): see the comment below.🤖 Generated with Claude Code