Skip to content

ci(tui): scope Valgrind test compilation - #11750

Merged
lawrencecchen merged 1 commit into
mainfrom
feat-valgrind-target-selection
Sep 3, 2026
Merged

lawrencecchen merged 1 commit into
mainfrom
feat-valgrind-target-selection

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Sep 3, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The startup Valgrind shard now asks Cargo to compile only the two targets its runner accepts: the cmux-tui binary test target and the ghostty-vt terminal integration test. The existing JSON artifact filter, shard checks, binary presence check, and exact-test guards remain in place.

Cargo documents repeatable package and target selectors in cargo test.

Verification

  • python3 tests/test_tui_publish_workflow_security.py -v (57 passed)
  • actionlint .github/workflows/cmux-tui.yml
  • git diff --check
  • No local Cargo build or Rust test run, per cmux-tui Linux build policy.

Summary by cubic

The Valgrind startup shard now compiles only the two test targets its runner accepts instead of the whole workspace, so unrelated test harnesses no longer get built.

  • Adds a Cargo target selector for the cmux-tui binary and the ghostty-vt terminal integration test.
  • Keeps the existing JSON artifact filter, shard checks, binary presence check, and exact-test guards unchanged.
  • Updates workflow security tests to assert the scoped build command and the preserved safety guards.

Written for commit 655b4ff. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Tests

    • Added security checks for the Valgrind workflow to ensure only required test binaries are built.
    • Added coverage for binary selection, safety checks, required tests, and configuration safeguards.
  • Chores

    • Streamlined Valgrind test builds to compile only the relevant terminal and TUI binaries, avoiding unnecessary workspace-wide builds and improving verification efficiency.

@vercel

vercel Bot commented Sep 3, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
cmux166 Canceled Canceled Sep 3, 2026 3:42pm UTC
cmux41 Canceled Canceled Sep 3, 2026 3:42pm UTC

@coderabbitai

coderabbitai Bot commented Sep 3, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Team

Run ID: ee67cdeb-8cb1-41cc-9901-c9dc868d4c6e

📥 Commits

Reviewing files that changed from the base of the PR and between f2ba77f and 7d9fdae.

📒 Files selected for processing (1)
  • .github/workflows/cmux-tui.yml

Included review availability: Your plan provides up to 10 included reviews per hour; 1 remains after this review.


📝 Walkthrough

Walkthrough

The Valgrind shard now compiles only the cmux-tui binary and ghostty-vt terminal test. New security tests validate targeted compilation and preserve binary-selection, replay, required-test, and configuration guards.

Changes

Targeted Valgrind build

Layer / File(s) Summary
Targeted build and safeguard validation
.github/workflows/cmux-tui.yml, tests/test_tui_publish_workflow_security.py
The workflow replaces workspace-wide test compilation with targeted cmux-tui and terminal test binaries. Security tests verify the build command and preserve Valgrind runner safeguards.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 7d9fd

The Valgrind shard now builds only the TUI binary and terminal integration-test harness it runs, reducing unnecessary compilation while retaining the checks that select and validate those artifacts. No current merge-blocking risk is evidenced.

🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 1 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (14 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: scoping Valgrind test compilation for TUI targets.
Description check ✅ Passed The description explains what changed, why it changed, and how it was verified. It uses a "Verification" section instead of the template's "Testing" heading and omits the review trigger and checklist,…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Cmux Swift Actor Isolation ✅ Passed PASS: The pull-request commit changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. The diff contains no Swift files or Swift declarations. The custom check …
Cmux Swift Blocking Runtime ✅ Passed PASS: The pull-request diff changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. It changes no Swift files and adds no blocking or timing synchronization pr…
Cmux Browser Automation Off-Main ✅ Passed PASS: The pull request changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. The exact diff scopes Cargo Valgrind targets and adds workflow security assertio…
Cmux Expensive Synchronous Load ✅ Passed PASS: The pull request changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. The exact diff contains no Swift paths or production Swift code. The custom fail…
Cmux Cache Substitution Correctness ✅ Passed PASS. The pull request diff changes only .github/workflows/cmux-tui.yml and the Python test tests/test_tui_publish_workflow_security.py. It introduces no production Swift, TypeScript, or JavaScrip…
Cmux No Hacky Sleeps ✅ Passed PASS. The diff changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. The rule explicitly excludes GitHub Actions YAML, and the Python additions are determini…
Cmux Algorithmic Complexity ✅ Passed PASS. The changed workflow replaces a workspace-wide Cargo build with two explicit target selectors in .github/workflows/cmux-tui.yml:204-208, which reduces compilation work and introduces no collec…
Cmux Swift Concurrency ✅ Passed The pull request diff changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. No Swift files or Swift concurrency patterns are introduced or expanded. The cust…
Cmux Swift @Concurrent ✅ Passed PASS: The pull request changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. The commit diff contains no Swift files or Swift functions/call sites. Therefore…
Cmux Swift Package Boundaries ✅ Passed PASS. The pull request changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. The commit diff contains no Swift source, Package.swift, or Swift package chan…
Full details: Description check

Explanation

The description explains what changed, why it changed, and how it was verified. It uses a "Verification" section instead of the template's "Testing" heading and omits the review trigger and checklist, but the core information is complete.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 1 files. (1 skipped: 1 unsupported.)

Full details: Cmux Swift Actor Isolation

Explanation

PASS: The pull-request commit changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. The diff contains no Swift files or Swift declarations. The custom check is therefore inapplicable, and it introduces no Swift actor-isolation issue.

Full details: Cmux Swift Blocking Runtime

Explanation

PASS: The pull-request diff changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. It changes no Swift files and adds no blocking or timing synchronization primitive. The custom check applies only to production Swift changes.

Full details: Cmux Browser Automation Off-Main

Explanation

PASS: The pull request changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. The exact diff scopes Cargo Valgrind targets and adds workflow security assertions. It does not change Sources/TerminalController.swift, ControlCommandExecutionPolicy.swift, socketWorkerMethods, browser automation routing, WebKit/AppKit access, or browser policy tests. The custom check is therefore not applicable, and no browser automation failure condition is introduced.

Full details: Cmux Expensive Synchronous Load

Explanation

PASS: The pull request changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. The exact diff contains no Swift paths or production Swift code. The custom failure condition is limited to production Swift changes that add or move expensive synchronous agent-history loads, so it is not applicable.

Full details: Cmux Cache Substitution Correctness

Explanation

PASS. The pull request diff changes only .github/workflows/cmux-tui.yml and the Python test tests/test_tui_publish_workflow_security.py. It introduces no production Swift, TypeScript, or JavaScript change, and it does not substitute a cached value for an authoritative read in a persistence, history, undo, or snapshot path. The cache-substitution check is therefore inapplicable.

Full details: Cmux No Hacky Sleeps

Explanation

PASS. The diff changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. The rule explicitly excludes GitHub Actions YAML, and the Python additions are deterministic test assertions. The patch adds no sleep, timer, polling, fixed backoff, or wall-clock wait, and it introduces no covered production TypeScript, JavaScript, shell, or runtime-script synchronization.

Full details: Cmux Algorithmic Complexity

Explanation

PASS. The changed workflow replaces a workspace-wide Cargo build with two explicit target selectors in .github/workflows/cmux-tui.yml:204-208, which reduces compilation work and introduces no collection scan or repeated algorithm. The added Python code in tests/test_tui_publish_workflow_security.py is test-only; its loop covers a fixed list of three guard names. No stated algorithmic-complexity failure condition is introduced.

Full details: Cmux Swift Concurrency

Explanation

The pull request diff changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. No Swift files or Swift concurrency patterns are introduced or expanded. The custom check therefore has no applicable failure condition.

Full details: Cmux Swift `@Concurrent`

Explanation

PASS: The pull request changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. The commit diff contains no Swift files or Swift functions/call sites. Therefore the Swift @concurrent custom check is not applicable, and it introduces none of the listed failure conditions.

Full details: Cmux Swift Package Boundaries

Explanation

PASS. The pull request changes only .github/workflows/cmux-tui.yml and tests/test_tui_publish_workflow_security.py. The commit diff contains no Swift source, Package.swift, or Swift package changes. The Swift package boundary check is therefore not applicable.

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat-valgrind-target-selection

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@lawrencecchen
lawrencecchen force-pushed the feat-valgrind-target-selection branch 3 times, most recently from 7d9fdae to d4dee4f Compare September 3, 2026 01:49
@cursor

cursor Bot commented Sep 3, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

@lawrencecchen
lawrencecchen force-pushed the feat-valgrind-target-selection branch from d4dee4f to b31a351 Compare September 3, 2026 01:52
@blacksmith-sh

This comment has been minimized.

@lawrencecchen
lawrencecchen force-pushed the feat-valgrind-target-selection branch 7 times, most recently from 6a7c08c to 5c4563a Compare September 3, 2026 03:10
@lawrencecchen
lawrencecchen force-pushed the feat-valgrind-target-selection branch from 5c4563a to 655b4ff Compare September 3, 2026 03:25
@lawrencecchen
lawrencecchen merged commit f11be3a into main Sep 3, 2026
27 of 29 checks passed
@lawrencecchen
lawrencecchen deleted the feat-valgrind-target-selection branch September 3, 2026 03:33
rustybret pushed a commit to rustybret/bmux that referenced this pull request Sep 3, 2026
3cce67c Vault: recency-first All Sessions view, session search, and checkpoints with fork (manaflow-ai#10215)
94f51fb Fix aggregate child memory pressure before compressor exhaustion (manaflow-ai#10773)
13006ef cloud: surface whether after() has waitUntil for deferred create work (manaflow-ai#11782)
75eee0e Cloud VMs: bake the TigerVNC desktop (dock, wallpaper, cua-driver, noVNC) into the devbox recipe and open it at the machine's private address (manaflow-ai#11776)
36b5536 Fix terminal text bleed during live window resize (manaflow-ai#11530)
44b42c1 Cloud VMs: machines usage decoder and refresh fixes, edge smoke diagnostics (manaflow-ai#11759)
f11be3a ci(tui): scope Valgrind test compilation (manaflow-ai#11750)
9184f4c coderouter: many Claude upstream accounts per team, routed with affinity and cooldown failover (manaflow-ai#11775)
d3b9cdd cloud: attach waits for the baked supervisor; edge probe span joins the create trace (manaflow-ai#11777)
c69e317 test: make the cmuxTests target compile again (main-actor call, CLI-only type) (manaflow-ai#11770)
8185825 fix(history): stop idle History menu graph rebuild loop (manaflow-ai#10661)
723958e Test bounded stale-port retirement after listener exit (manaflow-ai#11356)
367682e Fix native terminal Copy honoring Ghostty clipboard flavor (manaflow-ai#11515)
d59055d docs(tui): refresh SDK inventory counts (manaflow-ai#11766)
89e4701 cmux-tui: use JoinSet shutdown for simple drains (manaflow-ai#11745)

# Conflicts:
#	.github/workflows/cmux-tui.yml

This branch was successfully deployed

2 active deployments
Preview – cmux41 — 655b4ff0 Deployed Sep 3, 2026 by vercel[bot]
Preview – cmux166 — 655b4ff0 Deployed Sep 3, 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