Skip to content

ci: run backend migrations gate on every PR again (revert #17415) - #17432

Merged
teamleaderleo merged 1 commit into
mainfrom
ci/revert-backend-migrations-paths
Oct 5, 2026
Merged

teamleaderleo merged 1 commit into
mainfrom
ci/revert-backend-migrations-paths

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator

backend migrations applied is a required check on main. #17415 added a paths filter to backend-migrations.yml, so the workflow no longer runs on PRs that don't touch backend/db, the required check never reports, and those PRs can't merge (for example #17419). The gate already passes at once when no migration changed, so running it on every PR costs one quick job.

This PR reverts only the paths filter. It doesn't touch backend files, so under the current base workflow its own required check won't report either and it needs an admin merge once.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Reverts the paths filter added in #17415 so the backend migrations gate runs on every PR again.

The filter stopped the workflow from running on PRs that don't touch backend/db, so the required backend migrations applied check never reported and those PRs couldn't merge. Since the gate already passes immediately when no migration changed, running it on every PR adds only one quick job.

Note: this PR doesn't touch backend files, so under the current base workflow its own required check won't report and it needs an admin merge.

Written for commit 32490c5. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Workflow
    • Backend migration checks now run for all qualifying pull requests targeting main or feat-cmux-next, even when no migration files change.

backend migrations applied is a required check on main. The paths filter from
#17415 stops the workflow from running on PRs that don't touch backend/db, so
the required check never reports and those PRs can't merge. The gate already
passes at once when no migration changed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cursor

cursor Bot commented Oct 5, 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.

@coderabbitai

coderabbitai Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: bc957510-aa04-4754-802f-3070be7eeab3
📥 Commits

Reviewing files that changed from the base of the PR and between f601467 and 32490c5.

📒 Files selected for processing (1)
  • .github/workflows/backend-migrations.yml
💤 Files with no reviewable changes (1)
  • .github/workflows/backend-migrations.yml

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The backend migrations workflow no longer filters pull request events by changed paths. Qualifying pull requests now trigger the workflow regardless of which files changed.

Changes

Backend migration workflow

Layer / File(s) Summary
Pull request trigger scope
.github/workflows/backend-migrations.yml
The workflow removes the paths filter from its pull request trigger. Qualifying pull requests can trigger the workflow regardless of changed files.

Priority: ➖ Normal

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

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 32490

The migration check is configured to run for matching pull requests and pass when there are no migrations. No actionable merge-blocking issue is established.

🚥 Pre-merge checks | ✅ 25
✅ Passed checks (25 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: restoring the backend migrations gate on every pull request.
Description check ✅ Passed The description clearly explains the problem, the workflow change, and why the change is needed. It omits the template’s Testing and Changelog sections and the checklist; these are omissions, but the …
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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 Cloud Persistent Session And Early Input ✅ Passed The check is not applicable. The PR changes only .github/workflows/backend-migrations.yml by removing the pull_request_target path filters. It does not change Cloud terminal creation or transport …
Cmux Swift Actor Isolation ✅ Passed The pull request changes only .github/workflows/backend-migrations.yml. The diff removes the paths filter from the workflow trigger and contains no production Swift changes. The Swift actor-isolat…
Cmux Swift Blocking Runtime ✅ Passed The pull request changes only .github/workflows/backend-migrations.yml. Its diff removes the workflow paths filter and contains no production Swift changes or synchronization behavior covered by t…
Cmux Browser Automation Off-Main ✅ Passed The pull request changes only .github/workflows/backend-migrations.yml by removing its paths filter. It changes no browser, socket, WebKit, or AppKit code, so the browser automation check does not…
Cmux Expensive Synchronous Load ✅ Passed The diff changes only .github/workflows/backend-migrations.yml and removes its paths filter. It adds or moves no production Swift code or synchronous agent-history load, so this check is not appli…
Cmux Cache Substitution Correctness ✅ Passed The diff only removes the paths filter from .github/workflows/backend-migrations.yml. It makes no production Swift, TypeScript, or JavaScript change and does not substitute cached values in a pers…
Cmux No Hacky Sleeps ✅ Passed The pull request only removes the paths filter from .github/workflows/backend-migrations.yml. The diff adds no sleeps, timers, polling, or wall-clock waits. The runtime no-hacky-sleeps check does …
Cmux Algorithmic Complexity ✅ Passed The diff changes only .github/workflows/backend-migrations.yml by removing its pull_request_target.paths filter. It adds no loop, collection scan, sorting, filtering, join, or production algorithm…
Cmux Swift Concurrency ✅ Passed The diff only removes the paths filter from .github/workflows/backend-migrations.yml. It changes no Swift code and introduces no Swift concurrency patterns covered by this check.
Cmux Swift @Concurrent ✅ Passed The diff changes only .github/workflows/backend-migrations.yml by removing its paths filter. It contains no Swift changes, so the Swift @concurrent check does not apply.
Cmux Swift Package Boundaries ✅ Passed The diff changes only .github/workflows/backend-migrations.yml. It contains no production Swift changes, so the Swift package-boundary check does not apply.
Cmux Swiftpm Lockfiles ✅ Passed The PR changes only .github/workflows/backend-migrations.yml. The diff removes the paths filter and does not change SwiftPM dependencies, .gitignore files, or Xcode package references. It introd…
Cmux Swift Logging ✅ Passed The PR changes only .github/workflows/backend-migrations.yml. It removes the workflow paths filter and adds no Swift code or logging behavior covered by this check.
Cmux User-Facing Error Privacy ✅ Passed The diff only removes the paths filter from .github/workflows/backend-migrations.yml. This makes the internal pull_request_target CI workflow run for more PRs. The existing workflow exits with `…
Cmux Full Internationalization ✅ Passed The PR changes only .github/workflows/backend-migrations.yml. Its diff removes the pull_request_target path filters, which changes CI workflow triggering only. It adds or changes no user-facing te…
Cmux Swiftui State Layout ✅ Passed The pull request changes only .github/workflows/backend-migrations.yml. It makes no SwiftUI or state-layout changes, so none of the specified SwiftUI failure conditions apply.
Cmux Architecture Rethink ✅ Passed The diff changes only .github/workflows/backend-migrations.yml. It removes the workflow's paths filter. It makes no Swift architecture changes and introduces none of the listed Swift failure condi…
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed The pull request changes only .github/workflows/backend-migrations.yml. It adds no Swift code or standalone cmux-owned windows, so the auxiliary-window close-shortcut check does not apply.
Cmux Source Artifacts ✅ Passed The only changed path is .github/workflows/backend-migrations.yml. The diff removes a pull_request_target paths filter from workflow configuration. It adds no generated output, scratch directory, …
Cmux No Test Or Debug Seam In Production Source ✅ Passed PASS. The pull request changes only .github/workflows/backend-migrations.yml. The diff contains no Swift files under a production Sources/ path, so it does not introduce any of the specified test …
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@teamleaderleo
teamleaderleo enabled auto-merge (squash) October 5, 2026 20:02
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

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

@teamleaderleo
teamleaderleo merged commit eed6000 into main Oct 5, 2026
51 of 61 checks passed
@teamleaderleo
teamleaderleo deleted the ci/revert-backend-migrations-paths branch October 5, 2026 20:30
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

CI fast guards failed on 32490c55fe (https://github.com/manaflow-ai/cmux/actions/runs/37366561812). It does not block the merge; a red guard merged into main breaks it for every open PR.
The log named no failed step; see the run.

Agents: python3 scripts/ci/guard_attribution.py fix applies the mechanical fixes locally. This comment is updated in place on each push.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Merged. The main ruleset was temporarily without backend migrations applied (main has no backend/, so the gate had nothing to check there) and is restored with all 3 required checks.

rustybret pushed a commit to rustybret/bmux that referenced this pull request Oct 5, 2026
eed6000 ci: run backend migrations gate on every PR again (revert manaflow-ai#17415) (manaflow-ai#17432)
dda24fb Show Cloud to everyone by default and bump 0.65.0 to build 108 (manaflow-ai#17436)

# Conflicts:
#	.github/workflows/backend-migrations.yml
teamleaderleo added a commit that referenced this pull request Oct 5, 2026
…te tokens

A workflow that produces a required check may not put paths or paths-ignore
on its pull_request, pull_request_target or merge_group trigger (#17415 did
that to backend-migrations.yml; #17432 reverted it). The required contexts
come from scripts/ci/required_status_checks.py, which now mirrors the live
`backend migrations applied` requirement.

A workflow's top-level permissions may not grant a write scope (#17447,
fixed in #17449). The 11 workflows that did now set `permissions: {}` and
carry the same grants on each job, so no job's token changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Oct 5, 2026
…te tokens (#17457)

* ci: guard required checks against paths filters and workflow-wide write tokens

A workflow that produces a required check may not put paths or paths-ignore
on its pull_request, pull_request_target or merge_group trigger (#17415 did
that to backend-migrations.yml; #17432 reverted it). The required contexts
come from scripts/ci/required_status_checks.py, which now mirrors the live
`backend migrations applied` requirement.

A workflow's top-level permissions may not grant a write scope (#17447,
fixed in #17449). The 11 workflows that did now set `permissions: {}` and
carry the same grants on each job, so no job's token changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* ci: match the required-check mirror to the ruleset and bound backend migrations

Web complexity, ci-status and web-validation left the main ruleset on
purpose, so drop them from REQUIRED_CHECKS; the drift reconciliation now
passes against the live API. The timeout guard reads that list instead of
keeping its own copy, which puts backend-migrations.yml under it, so its
four jobs get timeout-minutes (plan 10, apply jobs 30, gate 15). The
merge-queue fixtures keep requiring Web complexity to exercise its
dynamic-name routing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* ci: keep ci-status, web-validation and Web complexity under the timeout guard

The timeout guard now checks the required checks plus an explicit
ALWAYS_BOUNDED list of the contexts it covered before, so dropping them
from the ruleset does not drop ci.yml and the web workflows from it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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