Skip to content

ci(instant): record Linux Instant with a virtual camera - #3425

Merged
richiemcilroy merged 6 commits into
mainfrom
ci/instant-camera-linux
Oct 28, 2026
Merged

richiemcilroy merged 6 commits into
mainfrom
ci/instant-camera-linux

Conversation

@richiemcilroy

@richiemcilroy richiemcilroy commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Summary

On Linux, Instant draws the camera into the screen video, so a camera that stalls or sends a bad frame stops the recording. No CI case recorded Instant with a camera: Blacksmith's kernel cannot load v4l2loopback.

  • New ignored real-app case real_app_instant_recording_with_camera_uploads_and_verifies, gated on CAP_GPUI_REAL_APP_CAMERA=1. It selects the first camera and records a full-screen window; X11 waits for the Stop shortcut before a camera window recording starts, so the case presses it to start and stop. It checks the upload verifies, the mock server confirms it, nothing is deleted and nothing panics.
  • The Blacksmith Linux job now uploads its app and test binary. A hosted ubuntu-24.04 job loads v4l2loopback (with linux-modules-extra for videodev), feeds a 720p YUYV test pattern, runs the case, then joins the recorded segments and checks at least 95% of frames carry the pattern's colour. The recorded window is grey, so a frame without colour is a frame without the camera.
  • The workflow also triggers on crates/camera, crates/camera-ffmpeg and crates/recording/src/instant_recording/.

Test plan

  • Dispatched on this branch: 245 of 245 frames show the camera, upload verified
  • Dispatched with perf(linux-camera): copy frames once #3146 merged on top: 247 of 247 frames, upload verified
  • macOS real-app job skips the case (no camera on that runner)

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge; the previous filter issue is fixed.

Summary

Adds a Linux CI check that records Instant with a virtual camera and checks that its picture reaches the saved video.

  • Linux CI records Instant with a camera and checks the saved video.

Reviews (3) · Last reviewed commit: "ci(instant): run the camera case for cam..." · Reviewed by Greptile

# Conflicts:
#	apps/desktop-gpui/src/upload/real_app_tests.rs
@vercel

vercel Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
cap-status Ready Ready Preview Oct 27, 2026 3:14am UTC

@richiemcilroy

Copy link
Copy Markdown
Member Author

@greptileai review

Comment thread .github/workflows/instant-reliability.yml
@richiemcilroy

Copy link
Copy Markdown
Member Author

@greptileai review

@richiemcilroy
richiemcilroy marked this pull request as ready for review October 28, 2026 19:24
@richiemcilroy
richiemcilroy merged commit 31681aa into main Oct 28, 2026
60 of 65 checks passed

This branch was successfully deployed

2 active deployments
Preview – cap-web — ee43c6ed Deployed Oct 27, 2026 by vercel[bot]
Preview – cap-status — ee43c6ed Deployed Oct 27, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant