Skip to content

ci: cost hygiene (concurrency, filters, retention) - #118

Merged
DevVig merged 1 commit into
mainfrom
ci/cost-hygiene
Oct 29, 2026
Merged

DevVig merged 1 commit into
mainfrom
ci/cost-hygiene

Conversation

@DevVig

@DevVig DevVig commented Oct 29, 2026

Copy link
Copy Markdown
Owner

What

Cost hygiene for GitHub Actions: cancel superseded PR/push CI, run the CodeRabbit fallback cron once daily on weekdays, and cap release artifact retention at 7 days.

Why

Avoid overlapping CI runs, hourly fallback sweeps, and the default 90-day artifact retention on Release uploads.

How was this tested?

PyYAML parse of the changed workflow files. No application code.

Applied

  • Concurrency on PR/push CI workflows that lacked it (group: ${{ github.workflow }}-${{ github.ref }}, cancel-in-progress: true):
    • .github/workflows/ci.yml
    • .github/workflows/pr-title.yml
  • CodeRabbit fallback cron: was hourly 59 * * * *; now once daily on weekdays 59 0 * * 1-5 (00:59 UTC) in .github/workflows/coderabbit-fallback-review.yml.
  • Artifact retention: retention-days: 7 on all four actions/upload-artifact steps in .github/workflows/release.yml (binaries-*, ui-*, release-assets-*, formula-*). Same-run download/publish is unaffected; GitHub Release assets are separate.

Skipped (required status checks)

Did not add docs-only paths-ignore (**/*.md, docs/**) to .github/workflows/ci.yml. That workflow provides the required checks on main (ruleset Protect main, CONTRIBUTING.md, docs/governance.md):

  • rust (ubuntu-latest)
  • rust (macos-latest)
  • ui

Skipping it on docs-only PRs would leave those required checks unreported.

Judgment calls (left unchanged)

  • No paths-ignore on .github/workflows/pr-title.yml: it lints PR titles, not files. Docs-only PRs still need the conventional-title gate (advisory per governance, but documented as the title enforcer).
  • No concurrency on .github/workflows/release.yml or .github/workflows/finalize-release.yml (deploy/release/publish).
  • Left existing CodeRabbit concurrency (group: coderabbit-fallback-review, cancel-in-progress: false); that workflow is cron/review, not PR/push CI.
  • No Swift/Xcode path filters: there are no Swift/Xcode jobs. macOS jobs here are Rust, Tauri, and Homebrew.
  • Did not split the non-required adapters job out of ci.yml solely to attach paths-ignore.
  • No docs paths-ignore on the CodeRabbit fallback workflow (not a test/lint workflow; also runs on schedule and issue comments).

Checklist

  • No application code; workflow YAML only
  • Protocol changes update both mb-protocol and docs/protocol.md
  • Adapter PRs: the adapter checklist is satisfied
  • Nothing added to the daemon's idle footprint (CPU, RSS, network)
Open in Web Open in Cursor 

Add cancel-in-progress concurrency on PR/push CI, run the CodeRabbit
fallback cron once daily on weekdays, and retain release artifacts 7 days.

Co-authored-by: Jonathan Borgwing <DevVig@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 29, 2026 00:46
@coderabbitai

coderabbitai Bot commented Oct 29, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available. Your 102 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: fc2be94c-f69c-40bd-8a8d-00f56916e058
Commits

Reviewing files that changed from the base of the PR and between 2b1e295 and 6f98d53.

Files selected for processing: 4
  • .github/workflows/ci.yml
  • .github/workflows/coderabbit-fallback-review.yml
  • .github/workflows/pr-title.yml
  • .github/workflows/release.yml
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The reviewer's examination surfaced no objective defects, with each workflow-YAML change checked and found sound.

No open issues 🎉

What changed in this PR

This PR applies GitHub Actions cost-hygiene changes to reduce wasted CI minutes and artifact storage. It cancels superseded PR/push runs via concurrency, reduces the CodeRabbit fallback review cron from hourly to once-daily on weekdays, and caps release artifact retention at 7 days. It is workflow-YAML only with no application/daemon code changes, consistent with the repo's tag-driven release pipeline.

Changes:

  • Add concurrency (group per workflow+ref, cancel-in-progress: true) to ci.yml and pr-title.yml to cancel superseded runs.
  • Change CodeRabbit fallback schedule from 59 * * * * (hourly) to 59 0 * * 1-5 (weekday daily at 00:59 UTC), with updated explanatory comments.
  • Set retention-days: 7 on all four actions/upload-artifact steps in release.yml.
File Description
.github/​workflows/​ci.yml Adds concurrency block to cancel superseded CI runs on PR/push.
.github/​workflows/​pr-title.yml Adds concurrency block to cancel superseded PR-title lint runs.
.github/​workflows/​coderabbit-fallback-review.yml Reduces fallback review cron from hourly to weekday-daily; updates comments.
.github/​workflows/​release.yml Caps artifact retention at 7 days on all four upload-artifact steps.

Review effort: Balanced

@DevVig
DevVig merged commit 09f8edd into main Oct 29, 2026
8 checks passed
@DevVig
DevVig deleted the ci/cost-hygiene branch October 29, 2026 01:21
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.

3 participants