Skip to content

ci: stop full apt upgrade and drop unused X11 -dev deps - #108

Merged
koubaa merged 3 commits into
mainfrom
cursor/ci-trim-vulkan-deps-3d44
Jul 25, 2026
Merged

ci: stop full apt upgrade and drop unused X11 -dev deps#108
koubaa merged 3 commits into
mainfrom
cursor/ci-trim-vulkan-deps-3d44

Conversation

@koubaa

@koubaa koubaa commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Summary

Linux Vulkan CI was spending most of its setup time downloading unrelated packages. From a recent cargo test (ubuntu-24.04) run before this change:

  1. apt-get upgrade -y mesa-vulkan-drivers libgl1-mesa-dri performed a full system upgrade (~295 MB): Chrome, PowerShell, PHP, Firefox snap, kubectl, snapd, etc. Intent was only Mesa 25+ for lavapipe Vulkan 1.4.
  2. libxcb-xfixes0-dev is unused for headless CI. Ekrano/Goldy load Vulkan via ash::Entry::load() and render offscreen; nothing links XCB. That package pulled the XCB/X11 -dev stack (libxcb1-dev, x11proto-dev, …).
  3. Setup also ran a redundant vulkaninfo before CI’s Verify step, and used find /usr to locate the ICD.

Fix

ci/setup-ubuntu.sh now installs only:

  • mesa-vulkan-drivers (lavapipe ICD)
  • libvulkan1 (runtime loader for ash)
  • vulkan-tools (vulkaninfo for the verify step)

with --no-install-recommends. Under GitHub Actions it skips the in-script vulkaninfo smoke test (kept for Docker/local), and prefers the known ICD path under /usr/share/vulkan/icd.d/.

Measured on this PR

Before After
apt download 295 MB, 61 upgrades 17.8 MB, 2 new packages
Install Vulkan step ~5 minutes ~6 seconds
X11/XCB -dev installed not installed
ubuntu-24.04 job ~8–10 minutes ~4.5 minutes

Runtime X11/Wayland libs that Mesa itself depends on (libxcb-*, libwayland-client0) may still appear as transitive deps of mesa-vulkan-drivers; those are small and usually already on the runner.

Test plan

  • CI installs only mesa-vulkan-drivers + vulkan-tools (17.8 MB)
  • No X11/XCB -dev packages in the install step
  • lavapipe verify + ubuntu-24.04 GPU tests pass
  • Install Vulkan step ~6s on latest push
Open in Web Open in Cursor 

cursoragent and others added 3 commits July 25, 2026 11:58
`apt-get upgrade mesa-vulkan-drivers …` was upgrading the entire
ubuntu-24.04 runner (~295 MB: Chrome, PHP, Firefox snap, …), which
dominated Linux Vulkan CI setup time. Install only lavapipe + loader +
vulkan-tools, and remove libxcb-xfixes0-dev which CI never needed for
headless rendering.

Co-authored-by: Mohamed Koubaa <koubaa@users.noreply.github.com>
First lavapipe vulkaninfo takes minutes of LLVM init; CI already has a
dedicated Verify lavapipe step, so don't pay that cost twice in setup.

Co-authored-by: Mohamed Koubaa <koubaa@users.noreply.github.com>
Scanning all of /usr is unnecessary when Ubuntu ships the ICD under
/usr/share/vulkan/icd.d/. Check those paths first and add progress
echoes so setup timing is visible in CI logs.

Co-authored-by: Mohamed Koubaa <koubaa@users.noreply.github.com>
@koubaa
koubaa marked this pull request as ready for review July 25, 2026 12:34
@cursor

cursor Bot commented Jul 25, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@koubaa
koubaa merged commit 4e953f7 into main Jul 25, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants