Skip to content

Pause Swift file length budget CI check - #3692

Merged
lawrencecchen merged 1 commit into
mainfrom
feat-pause-swift-length-check
May 7, 2026
Merged

lawrencecchen merged 1 commit into
mainfrom
feat-pause-swift-length-check

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented May 7, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Comment out the Validate Swift file length budget step in .github/workflows/ci.yml. Main is currently red because two PRs that each fit the budget were merged 34 seconds apart without rebasing (Toggle agent session auto-resume on reopen (#3610) #3616 +5 lines, Restore Zhuyin IME candidate marked-text handling #3574 +18 lines), pushing Sources/GhosttyTerminalView.swift 12 lines over.
  • The hard gate is the wrong tradeoff right now: a merge queue or required-up-to-date branches solve this but add real friction to the dev loop. CodeRabbit and Greptile already flag large-file growth, which is enough as a soft signal.
  • Script and tsv stay checked in. Re-enabling is one uncomment after refreshing the tsv.

Test plan

  • CI on this PR completes without the budget step
  • After merge, the next push to main goes green

Note

Cursor Bugbot is generating a summary for commit 5f2d494. Configure here.


Summary by cubic

Paused the Swift file length budget CI check to prevent red builds from stale-base merge races. The step is commented out in .github/workflows/ci.yml, and CodeRabbit/Greptile remain as soft signals for large-file growth.

  • Bug Fixes
    • Stops main from failing when two PRs that each meet the budget combine to exceed it after back-to-back merges.
    • Script and budget TSV stay in repo; re-enable by refreshing the TSV and uncommenting the step in .github/workflows/ci.yml.

Written for commit 5f2d494. Summary will update on new commits.

Summary by CodeRabbit

  • Chores
    • Temporarily disabled an automated validation check in the CI workflow pending resolution of merge-related issues.

Stale-base merge races caused PRs that each fit the budget to overshoot
when merged back-to-back (PRs 3616 and 3574 both grew GhosttyTerminalView.swift,
landed 34 seconds apart, neither rebased on the other; main went red by 12 lines).

Rely on CodeRabbit and Greptile review feedback on large-file growth instead.
The script and budget tsv stay checked in so this is a one-line uncomment to
re-enable, after refreshing the tsv.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@vercel

vercel Bot commented May 7, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
cmux Ready Ready Preview, Comment May 7, 2026 9:43am
cmux-staging Building Building Preview, Comment May 7, 2026 9:43am

@coderabbitai

coderabbitai Bot commented May 7, 2026 •

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The pull request disables the Swift file length budget validation check in the CI workflow. The workflow-guard-tests job no longer executes the budget validation script; instead, the step is commented out with guidance indicating it is paused due to merge conflicts and should be re-enabled after the budget TSV is refreshed.

Changes

CI Budget Check Disabled

Layer / File(s) Summary
CI Step Disabled
.github/workflows/ci.yml
The "Validate Swift file length budget" step in workflow-guard-tests is commented out, and the python3 scripts/swift_file_length_budget.py invocation is omitted from execution. Commented instructions indicate the check should be re-enabled after refreshing the budget TSV to avoid stale-base merge races.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • manaflow-ai/cmux#3223: Directly disables the same Swift file length budget validation step in the CI workflow that this PR pauses.
  • manaflow-ai/cmux#3676: Addresses the same Swift file length budget constraint by splitting the CLI/cmux.swift file to comply with the budget.

Poem

🐰 A budget check takes a pause,
Stale merges brought this cause,
Commented lines with notes so clear,
"Re-enable soon," let reviewers hear,
Swift files rest, for now at least! ✨


Caution

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

  • Ignore

❌ Failed checks (1 error, 1 inconclusive)

Check name Status Explanation Resolution
Cmux Swift Blocking Runtime ❌ Error PR introduces blocking synchronization in socket paths via DispatchSemaphore.wait() in TerminalController and Task.sleep in AuthManager polling loops, violating custom check rules. Remove DispatchSemaphore.wait() from socket handlers. Replace with async/await or callbacks. Replace Task.sleep polling with real signals or state transitions, not blocking waits.
Description check ❓ Inconclusive The description covers the summary, context, and rationale well, but the Testing and Checklist sections are incomplete or missing required confirmations. Confirm testing status in the checklist by checking boxes or explicitly stating whether the changes have been tested locally and if CI passes on this PR.
✅ Passed checks (12 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main change: pausing the Swift file length budget CI check.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 PR modifies only .github/workflows/ci.yml (YAML workflow config), not Swift source code. Swift actor isolation check applies to production Swift changes, which are absent here. Check not applicable.
Cmux No Hacky Sleeps ✅ Passed PR comments out a Swift validation step with no changes to TypeScript, JavaScript, shell, or build scripts. No hacky sleeps, timers, or problematic delays are introduced or worsened.
Cmux Swift Concurrency ✅ Passed PR only modifies .github/workflows/ci.yml (YAML file). All Swift files are newly added, not modified. The check targets Swift code refactoring; no existing Swift code changes occur.
Cmux Swift @Concurrent ✅ Passed Check not applicable. PR only modifies CI workflow config to pause budget check; no Swift source code changes present.
Cmux Swift File And Package Boundaries ✅ Passed Only CI workflow configuration changed; no Swift source code files modified. The Swift file boundary check doesn't apply to CI config.
Cmux Swift Logging ✅ Passed No Swift logging violations detected. No unguarded print/debugPrint/dump/NSLog in app code. Debug logging properly guarded. Logger constants use nonisolated private.
Cmux Swiftui State Layout ✅ Passed PR only modifies .github/workflows/ci.yml to disable a CI validation step. No SwiftUI code changes. The custom check for SwiftUI state layout violations is not applicable.
Cmux Architecture Rethink ✅ Passed PR only disables a CI check in .github/workflows/ci.yml. No Swift code modified; no architectural patterns (sleeps, locks, observers, side channels) introduced.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat-pause-swift-length-check

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 and usage tips.

@greptile-apps

greptile-apps Bot commented May 7, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR pauses the Swift file-length budget CI gate by commenting out the validation step in .github/workflows/ci.yml, after a stale-base merge race pushed Sources/GhosttyTerminalView.swift 12 lines over the limit. The script and budget TSV remain checked in, and re-enable instructions with a --write-budget refresh step are left in the comment block.

  • The CI step is commented out with a clear explanation and explicit re-enable instructions; no production code is changed.
  • The re-enable comment distinguishes a one-off manual TSV refresh (--write-budget) from the actual CI step to uncomment — the formatting (indented # python3... vs. # - name:) makes the two distinct, though a quick skim could still conflate them.

Confidence Score: 5/5

Safe to merge — the only change is commenting out one CI validation step with full re-enable instructions left in place.

The change touches only a CI workflow file, removes no production logic, and leaves the underlying script and budget TSV intact. The re-enable path is documented inline. No Swift source files or runtime behavior is affected.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/ci.yml Swift file length budget validation step commented out with re-enable instructions; purely a CI gating change with no production code impact

Reviews (1): Last reviewed commit: "Pause Swift file length budget CI check" | Re-trigger Greptile

@lawrencecchen
lawrencecchen merged commit 226b7a5 into main May 7, 2026
24 checks passed

This branch was successfully deployed

1 active deployment
Preview – cmux — 5f2d4942 Deployed May 7, 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