Skip to content

ci: trigger low-memory verification on every merge to main + nightly#44

Merged
AceHack merged 1 commit intomainfrom
acehack/nightly-slim-to-push-main
Apr 27, 2026
Merged

ci: trigger low-memory verification on every merge to main + nightly#44
AceHack merged 1 commit intomainfrom
acehack/nightly-slim-to-push-main

Conversation

@AceHack
Copy link
Copy Markdown
Owner

@AceHack AceHack commented Apr 27, 2026

Per Aaron 2026-04-27: 'no reason we don't change that nightly job for slim to just trigger on every merge to main, it's free for open source projects.'

The ubuntu-slim leg currently runs only on a daily schedule. Adding push-to-main as a trigger gives faster drift detection without per-PR cost (free for public repos per Otto-249 + Otto-210, and not on the PR critical path).

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings April 27, 2026 15:36
@AceHack AceHack enabled auto-merge (squash) April 27, 2026 15:36
@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.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the low-memory CI workflow so ubuntu-slim drift detection happens immediately after merges to main (and still runs nightly), improving feedback latency without adding per-PR runtime.

Changes:

  • Add push trigger for main to run the workflow on every merge.
  • Update workflow header commentary to document the new trigger surface.
  • Clarify the cron comment to explain why the nightly schedule remains.
Comments suppressed due to low confidence (1)

.github/workflows/nightly-low-memory.yml:28

  • P2: The header comment now explains this runs on “post-merge + nightly”, but the later “What this workflow does” bullets still describe only the nightly schedule/manual dispatch. Update that section to include the new push trigger so the workflow’s self-documentation matches its actual trigger surface.
# What this workflow does:
#   - Schedule: daily at 06:00 UTC.
#   - workflow_dispatch: manual trigger for ad-hoc verification.

Comment thread .github/workflows/nightly-low-memory.yml Outdated
Per Aaron 2026-04-27: 'no reason we don't change that nightly
job for slim to just trigger on every merge to main, it's free
for open source projects.'

The ubuntu-slim leg moved off per-PR gate (PR #43 / earlier
moved it to nightly) because it's ~7x slower than the regular
ubuntu-24.04 leg and times out at the 15-min runner-class cap
during PR review cycles.

But for post-merge to main, the elapsed time doesn't bottleneck
anything — main has already landed; the slim run is a drift
detector. Free for public repos (Otto-249 + Otto-210), so
running on every merge gives faster drift detection than
purely-nightly without cost.

New trigger surface:
  1. push to main (every merge) — primary drift detection
  2. daily 06:00 UTC schedule — backstop for weekend drift
  3. workflow_dispatch — manual ad-hoc verification

Per AgencySignature v1 (Otto-138):
Author: Otto (Anthropic-side AI agent on the Zeta factory)
Origin-substrate: AceHack/Zeta main
Co-Authored-By: Otto <noreply@anthropic.com>
@AceHack AceHack force-pushed the acehack/nightly-slim-to-push-main branch from 6dd09e2 to adb45cc Compare April 27, 2026 15:43
@AceHack AceHack merged commit 36b3ac6 into main Apr 27, 2026
15 checks passed
@AceHack AceHack deleted the acehack/nightly-slim-to-push-main branch April 27, 2026 15:45
AceHack added a commit that referenced this pull request Apr 27, 2026
…, not identity) (#45)

* ci: rename nightly-low-memory.yml to low-memory.yml — cadence is config, not identity

Maintainer 2026-04-27: *"when it becomes per merge this won't be a
good filename anymore"*. With #44 the workflow now triggers on every
merge to main + nightly + workflow_dispatch — "nightly" in the
filename is misleading.

Rename rationale:
- `low-memory.yml` describes the *purpose* (low-memory drift
  detection on ubuntu-slim).
- The cadence (per-merge + nightly + manual) is a config detail
  that lives inside the file's `on:` block. Filename should not
  encode mutable cadence — it should encode timeless intent.
- Filename-history note retained inside the file's header comment
  so future maintainers can find the rename via grep.

Updated:
- `name:` field: `nightly-low-memory` → `low-memory`
- `concurrency.group:` `nightly-low-memory` → `low-memory`
- `gate.yml` cross-references at lines 12, 99, 125
- Header comment block reframed (purpose + filename history)

Branch protection: this workflow runs on push-to-main (not pull_request),
so it never appears as a PR-level required-status-check. No
branch-protection update needed.

LFG sibling: forward-sync via cherry-pick after this lands on AceHack.

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

* docs: clarify push-to-main vs merge-to-main per Copilot P2 (PR #45 thread)

Copilot P2 finding: comments said "every merge to main" but the
trigger is actually \`push: branches: [main]\` which is broader
than merges (also fires on direct pushes if branch protection
ever lifts).

Reword to "every push to main (in practice every merge — direct
pushes are blocked by branch protection)" so the technical
behavior and policy intent are both clear without misleading
future readers.

Two files touched (gate.yml header + low-memory.yml header).
The intra-policy phrasing inside Aaron's verbatim quote and the
"Why post-merge + nightly..." rationale stay as merge-language —
those describe policy/intent, not technical behavior.

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

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 27, 2026
…ucent-Financial-Group#644 reviews (#47)

LFG Lucent-Financial-Group#644 (the AceHack #43+#44 sibling sync) accumulated three review
findings that improved low-memory.yml beyond what landed via #45:

1. Codex P2 + Copilot P1 — concurrency: constant \`group: low-memory\`
   + cancel-in-progress: false silently REPLACES older pending runs
   on burst pushes (GitHub keeps at most 1 running + 1 pending per
   group). Defeats the "every merge gets checked" goal.
   Fix: \`group: low-memory-\${{ github.sha }}\` — per-commit
   concurrency, parallel execution, no replacement.

2. Copilot P1 — timeout-minutes: 30 conflicts with the 15-min
   runner-class hard cap; raising timeout-minutes can't actually
   exceed the platform limit and misleads readers.
   Fix: timeout-minutes: 14 — one minute under the cap so the job
   fails gracefully with a proper Actions log before the platform
   kills it. Update the safe-pattern-compliance comment to match.

Both improvements were applied on the LFG Lucent-Financial-Group#644 branch in response
to the review threads. Backporting them to AceHack now keeps the
0-diff invariant from #43 — next AceHack→LFG sync round should
have zero workflow-file drift.

Standard runners are free for public repos (Otto-249), so the
parallel-runs cost is zero.

Co-authored-by: Claude Opus 4.7 <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.

2 participants