Skip to content

ci: nightly-next tick runs on finished feat-cmux-next push runs, not a cron - #22466

Merged
lawrencecchen merged 2 commits into
mainfrom
ci/nightly-next-tick-no-cron
Oct 20, 2026
Merged

lawrencecchen merged 2 commits into
mainfrom
ci/nightly-next-tick-no-cron

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

User: no GitHub cron on the nightly path; nightlies as soon as possible. Replaces the 09:23/21:23 UTC schedule in nightly-next-tick.yml with workflow_run (completed) of cmux-next and cmux-tui artifacts push runs on feat-cmux-next, so a push whose own request was cancelled or stalled is picked up within minutes. Concurrency keeps at most one waiting tick. Drops the last reads of the retired Blacksmith variable CI_NIGHTLY_DECIDE_RUNNER.

Two commits (same as feat-cmux-next d8e0eec, 191376a): failing test first, then the fix. Dedicated builder: cmux22, plans/cmux-next/nightly-builder-DESIGN.md on feat-cmux-next.


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


Summary by cubic

Makes nightly-next builds start as soon as possible instead of waiting for a scheduled cron.

Replaces the twice-daily schedule in nightly-next-tick.yml with a workflow_run trigger that fires whenever a cmux-next or cmux-tui artifacts push run on feat-cmux-next completes, whatever its conclusion. A push whose own request was cancelled or stalled is now picked up within minutes instead of hours; the concurrency group keeps at most one tick running and one waiting. Also drops the last reads of the retired CI_NIGHTLY_DECIDE_RUNNER variable.

Written for commit 0b200fc. Summary will update on new commits.

View guided diff Turn on auto-fix

Red: nightly-next-tick.yml still has two crons, and ci-health-report and
ci-repo-variables still read the retired CI_NIGHTLY_DECIDE_RUNNER
(a Blacksmith pool). Replaces the twice-a-day schedule test (user:
no GitHub cron on the nightly path).
…a cron

Replaces the 09:23/21:23 UTC schedule with workflow_run (completed) of
cmux-next and cmux-tui artifacts push runs on feat-cmux-next, so a push
whose own request was cancelled or stalled is picked up within minutes,
not hours. The concurrency group keeps at most one waiting tick. Also
drops the last reads of CI_NIGHTLY_DECIDE_RUNNER (a Blacksmith pool,
retired). Design: plans/cmux-next/nightly-builder-DESIGN.md.
@lawrencecchen
lawrencecchen enabled auto-merge (squash) October 20, 2026 10:06
@github-actions

Copy link
Copy Markdown
Contributor

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

@lawrencecchen
lawrencecchen merged commit 56001d3 into main Oct 20, 2026
@lawrencecchen
lawrencecchen deleted the ci/nightly-next-tick-no-cron branch October 20, 2026 10:08
@github-actions

github-actions Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Probably yours: CI fast guards failed: a guard step failed, FAIL 2.1s workflow-guard-tests / ci: Validate workflow_run triggers name workflows that exist. This PR merged before its CI finished: fix forward on main.

CI failed on 0b200fca0a (run 39405567077 attempt 1): 1 code.

Job Verdict Why
CI fast guards code a guard step failed
Matched log lines
CI fast guards: FAIL    2.1s  workflow-guard-tests / ci: Validate workflow_run triggers name workflows that exist

Not re-run automatically: CI fast guards is not a machine failure.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

Merge receipt for 0b200fca0a, merged 2026-10-20 10:07:59 UTC

  • Not verified at merge: ci-status (not reported), CI fast guards (in progress), guards (18) (in progress)
  • Verified: backend migrations applied, Fast static checks, GhosttyKit release check, merge freeze, plan, web-validation
  • Skipped by policy: apply-production, apply-staging, browser, Claude wrapper regressions, close lapsed freezes, Dogfood build #​${{ github.event.pull_request.number }}, macos, remote-daemon, suite-coverage, web, web-build, web-database-tests, and 1 more
  • Full suite: runs on main after merge.

Labeled merged-unverified: if main breaks near this merge, look here first.

@github-actions github-actions Bot added the merged-unverified A judging check was not green at merge; see the merge receipt comment label Oct 20, 2026
@greptile-apps

greptile-apps Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no actionable defect was found.

Summary

Replaces the twice-daily nightly-next tick with finished push-run events from cmux-next and cmux-tui artifacts on feat-cmux-next.

  • Finished build runs start a nightly-next check instead of a cron.
  • CI reports stop reading the retired nightly runner variable.

Acknowledged intent: lawrencecchen explicitly requests no GitHub cron on this nightly path. The removal of clock-based recovery is intentional.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  A[cmux-next push run finishes] --> C[nightly-next tick]
  B[cmux-tui artifacts push run finishes] --> C
  C --> D{Same repository push on feat-cmux-next?}
  D -->|Yes| E[Check current feat-cmux-next history]
  D -->|No| F[Skip request job]
  G[Manual dispatch] --> E
  E --> H[Find newest buildable commit]
  H --> I[Request promotion on main]
Loading

Reviews (1) · Last reviewed commit: "ci: nightly-next tick runs on finished f..." · Reviewed by Greptile

@github-actions

Copy link
Copy Markdown
Contributor

This PR broke CI fast guards on main. Every open PR's guard check is red on Validate workflow_run triggers name workflows that exist until it is fixed forward.
How this was found: the only commit since the step last passed on main. Merge commit 56001d3df6; main run: https://github.com/manaflow-ai/cmux/actions/runs/39405747207.

Validate workflow_run triggers name workflows that exist

Test: python3 tests/test_ci_workflow_run_sources.py

.github/workflows/nightly-next-tick.yml: triggers on the display names ['cmux-next', 'cmux-tui artifacts'] and declares no SOURCE_WORKFLOW_PATHS, so renaming any of those workflows stops this one from ever triggering and nothing reports it

Fix: the assertion above names what the guard expects; change the tree to match it.
Reproduce in seconds, no build: scripts/ci/guards-local.sh --step 'Validate workflow_run triggers name workflows that exist'

Tracking: #22467. @lawrencecchen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-unverified A judging check was not green at merge; see the merge receipt comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant