Conversation
Mesa DescriptionThis PR overhauls the CI workflows for the Chromium images to improve reliability and add multi-platform support. Key changes include:
Note Refactors CI to build and run headful/headless Chromium images on amd64/arm64 with concurrency and service readiness checks, builds images inline in server tests, and adds DETACH support to run scripts.
Written by Cursor Bugbot for commit 5185d51. This will update automatically on new commits. Configure here. Description generated by Mesa. Update settings |
There was a problem hiding this comment.
Performed full review of b51da91...da55596
Analysis
-
Container name hardcoding in trap cleanup creates brittle coupling rather than using the defined NAME environment variable, making future naming changes difficult.
-
Using docker run with --rm flag in detached mode auto-removes failed containers, making CI failure debugging nearly impossible since logs are lost.
-
Complex shell-based health checking logic (using awk, grep, sed, tr) is difficult to maintain and error-prone compared to more robust alternatives like a Python script or supervisorctl's XML-RPC API.
-
While container startup is tested, there's no functional testing to verify Chromium can actually launch and render pages, making this merely a smoke test.
-
The PR represents a significant architectural shift from build-and-push to build-and-test locally, but lacks documentation explaining this strategic change and its implications.
Tip
Help
Slash Commands:
/review- Request a full code review/review latest- Review only changes since the last review/describe- Generate PR description. This will update the PR body or issue comment depending on your configuration/help- Get help with Mesa commands and configuration options
4 files reviewed | 0 comments | Edit Agent Settings • Read Docs
| if [[ "${DETACH:-false}" == "true" ]]; then | ||
| docker run -d --rm "${RUN_ARGS[@]}" "$IMAGE" | ||
| else | ||
| docker run -it "${RUN_ARGS[@]}" "$IMAGE" |
There was a problem hiding this comment.
Bug: Bug
Inconsistent container cleanup behavior: interactive mode (line 88) is missing the --rm flag while detached mode (line 86) has it. This causes containers to persist after exit when run interactively but be auto-removed when run detached. The chromium-headless script consistently uses --rm in both modes (lines 31 and 33), which is the correct pattern. This inconsistency will lead to container accumulation when running in interactive mode.
Upstream Sync
Date: 2026-02-13
Summary
This PR merges the latest changes from the public kernel-images repository.
Upstream Changes Merged
c8a53d5feat: auto-toggle Chromium app mode for small viewports (feat: auto-toggle Chromium app mode for small viewports #153)Files Changed
images/chromium-headful/Dockerfile- Auto-mergedimages/chromium-headful/xorg.conf- New/updatedserver/.gitignore- New entryserver/cmd/api/api/chromium.go- Auto-mergedserver/cmd/api/api/display.go- New fileserver/cmd/chromium-launcher/main.go- Auto-mergedserver/cmd/chromium-launcher/main_test.go- Updatedserver/go.mod- Auto-mergedserver/go.sum- Auto-mergedserver/lib/chromiumflags/chromiumflags.go- New fileserver/lib/chromiumflags/chromiumflags_test.go- New fileMerge Conflicts
No conflicts - merge was clean.
Image Versions
kernel-browser
Already up to date at v144.0.7559.96-r6.