Skip to content

ci: one desktop job per platform - #2563

Open
richiemcilroy wants to merge 3 commits into
mainfrom
ci/one-job-per-platform
Open

richiemcilroy wants to merge 3 commits into
mainfrom
ci/one-job-per-platform

Conversation

@richiemcilroy

@richiemcilroy richiemcilroy commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Follow-up to #2553 and #2561. Each platform's desktop checks now run in one job, so a PR takes 1 macOS runner instead of up to 3.

Why

Hosted macOS concurrency is 5 runners. Each PR that touched recording code was holding 3 of them (Clippy, Build GPUI Desktop, A/V Sync Tests). Each of those jobs repeated checkout, native-deps setup and cache restore. This morning about 45 macOS jobs were queued behind 5 runners.

Changes

  • Desktop (macOS, Windows, Linux) replaces Clippy, Rust tests (Linux), Build GPUI Desktop and the PR side of A/V Sync Tests. Steps run cheapest first:
    1. packaging script tests
    2. Clippy (macOS/Windows)
    3. root crate tests
    4. GPUI tests
    5. the A/V sync steps
  • Steps are gated by the existing path filters. The rust filter gates Clippy and the root tests, and a new sync filter (the old sync-tests path list) gates the A/V sync steps. On main every step runs, so the one v1-rust-desktop cache per platform covers every step a PR can run.
  • On Linux, cap-recording --lib and cap-enc-ffmpeg run once, not twice, when both filters match.
  • The A/V sync steps are copied unchanged from sync-tests.yml, apart from the 6-case random matrix. sync-tests.yml keeps its nightly schedule (40 random cases) and manual dispatch, and drops its PR trigger.

Trade-offs

  • Within a platform the steps now run in sequence instead of in parallel jobs. Each job pays checkout, setup and cache restore once instead of up to 3 times, and needs one runner slot instead of up to 3.

Verification

  • actionlint clean on both workflows.
  • Repo and org Actions cache limits raised from 10 GB to 50 GB, so the combined caches and the release caches both fit.

RetriggerConfidence Score: 5/5

The PR appears safe to merge; the earlier skipped-check issue is fixed.

Summary

The PR combines desktop checks into one job per platform and keeps the larger nightly A/V test run separate.

  • Desktop checks share one job on each platform.
  • A/V sync checks run with desktop CI on pull requests.

Reviews (2) · Last reviewed commit: "ci: run the desktop job for recording ha..." · Reviewed by Greptile

@vercel

vercel Bot commented Oct 14, 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 14, 2026 9:03am UTC

@capy-ai capy-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capy found 1 potential issue (1 medium).

View 3 other findings in Capy.

Open in Capy

Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml
@richiemcilroy

Copy link
Copy Markdown
Member Author

hey @greptileai, please re-review the PR

@capy-ai capy-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capy found no issues.

Open in Capy

This branch was successfully deployed

2 active deployments
Preview – cap-status — 07f5723a Deployed Oct 14, 2026 by vercel[bot]
Preview – cap-web — 07f5723a Deployed Oct 14, 2026 by vercel[bot]
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.

1 participant