Skip to content

Reduce GitHub Actions fan-out and storage#372

Merged
laulpogan merged 8 commits into
mainfrom
chore/reduce-actions-usage
Jul 19, 2026
Merged

Reduce GitHub Actions fan-out and storage#372
laulpogan merged 8 commits into
mainfrom
chore/reduce-actions-usage

Conversation

@laulpogan

@laulpogan laulpogan commented Jul 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • consolidate twelve CI jobs into six pull-request checks and two main cache warmers
  • share platform caches without saving pull-request merge-ref copies
  • expire temporary release handoffs after one day and skip docs-only Fly deploys
  • update, but do not execute, the branch-protection migration caller

Verification

  • actionlint .github/workflows/*.yml
  • structural Actions policy assertions
  • test-env/run.sh
  • GitNexus compare: low risk, zero runtime flows
  • bounded Claude review: no blocker or major findings

Rollout

Do not run require-ci.sh until this PR shows all six replacement contexts green. This PR does not mutate live branch protection or service state.

Summary by CodeRabbit

  • CI Improvements
    • Streamlined pull-request checks with added run cancellation and improved cache reuse.
    • Consolidated multiple Linux validations into a single linux-e2e job and adjusted required check contexts accordingly.
    • Added cache-warming on pushes while restoring (not saving) PR-scoped caches.
  • Release & Deployment
    • Reduced temporary release artifact retention to one day and disabled saving Rust build caches during release publishing.
    • Production deployments no longer trigger for docs/non-production path changes.
  • Documentation
    • Added a staged GitHub Actions cost-reduction design/spec and an actions-usage usage-reduction session log.
    • Clarified snapshot upload/restore rationale in the backup relay workflow.

@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

GitHub Actions workflows were restructured around shared cache warmers, consolidated pull-request validation, updated protected checks, shorter release artifact retention, selective deployment triggers, and revised backup-storage documentation. Supporting plans, specifications, and verification records document the rollout.

Changes

GitHub Actions usage reduction

Layer / File(s) Summary
CI topology and protected checks
.github/workflows/ci.yml, require-ci.sh
Adds concurrency and push cache warmers, consolidates Linux validation into linux-e2e, preserves Windows smoke coverage, updates lint descriptions, and changes required branch-protection checks.
Release, deployment, and snapshot policies
.github/workflows/release.yml, .github/workflows/fly-deploy.yml, .github/workflows/backup-relay-state.yml
Disables selected cache saves, shortens release artifact retention to one day, excludes selected paths from Fly deployments, and revises snapshot-storage documentation.
Rollout design and verification records
SESSION_LOG_2026-07-18.md, docs/superpowers/plans/..., docs/superpowers/specs/...
Documents the architecture, constraints, rollout procedure, verification steps, expected effects, and implementation results.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant GitHubActions
  participant warm-cache-linux
  participant RustCache
  participant linux-e2e
  GitHubActions->>warm-cache-linux: Run on push
  warm-cache-linux->>RustCache: Save shared Linux cache
  GitHubActions->>linux-e2e: Run on pull request
  linux-e2e->>RustCache: Restore shared cache
  linux-e2e->>GitHubActions: Execute serial Linux validation steps
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: reducing GitHub Actions fan-out and storage usage.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/reduce-actions-usage

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

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/superpowers/plans/2026-07-18-github-actions-cost-reduction.md`:
- Around line 194-200: Update “Step 2: Run GitNexus change detection” to invoke
the mandated gitnexus_detect_changes() procedure instead of the direct node CLI
command, while retaining the existing scope, base, branch, and expected-change
verification requirements.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 25e990af-2de4-4e39-bd10-239eff1b0b41

📥 Commits

Reviewing files that changed from the base of the PR and between 7f2301b and 2a306f0.

📒 Files selected for processing (8)
  • .github/workflows/backup-relay-state.yml
  • .github/workflows/ci.yml
  • .github/workflows/fly-deploy.yml
  • .github/workflows/release.yml
  • SESSION_LOG_2026_07_18.md
  • docs/superpowers/plans/2026-07-18-github-actions-cost-reduction.md
  • docs/superpowers/specs/2026-07-18-github-actions-cost-reduction-design.md
  • require-ci.sh

Comment on lines +194 to +200
- [ ] **Step 2: Run GitNexus change detection**

```bash
node .gitnexus/run.cjs detect-changes --scope compare --base-ref origin/main --repo wire --branch chore/reduce-actions-usage
```

Expected: workflow, shell caller, docs, and no Rust execution-flow changes.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Use the mandated GitNexus change detector before commits.

This plan substitutes a direct CLI invocation for gitnexus_detect_changes(), so it does not follow the repository’s required pre-commit verification procedure. As per coding guidelines, “Before committing, run gitnexus_detect_changes() to verify that changes affect only expected symbols and execution flows.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/superpowers/plans/2026-07-18-github-actions-cost-reduction.md` around
lines 194 - 200, Update “Step 2: Run GitNexus change detection” to invoke the
mandated gitnexus_detect_changes() procedure instead of the direct node CLI
command, while retaining the existing scope, base, branch, and expected-change
verification requirements.

Source: Coding guidelines

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 19, 2026

Copy link
Copy Markdown

Deploying wireup-landing with  Cloudflare Pages  Cloudflare Pages

Latest commit: 7982102
Status: ✅  Deploy successful!
Preview URL: https://9408a457.wireup-landing.pages.dev
Branch Preview URL: https://chore-reduce-actions-usage.wireup-landing.pages.dev

View logs

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
SESSION_LOG_2026_07_18.md (1)

230-232: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Do not claim the handoff policy was proven absent from this assertion.

The recorded failure is only missing linux-e2e, which establishes that the consolidated job was absent. It does not, by itself, prove that the one-day handoff policy was absent. Record the retention assertion failure separately or narrow this sentence to the evidence shown.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@SESSION_LOG_2026_07_18.md` around lines 230 - 232, Revise the pre-change
structural assertion statement in SESSION_LOG_2026_07_18.md to claim only that
the consolidated linux-e2e job was absent, based on the recorded missing
linux-e2e failure. Remove the claim that this assertion proved the one-day
release handoff policy was absent, or document that policy’s retention assertion
failure separately.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@SESSION_LOG_2026_07_18.md`:
- Around line 252-255: Correct SESSION_LOG_2026_07_18.md lines 252-255 to state
that require-ci.sh was prepared but not executed, while retaining the
prerequisite that all six contexts must be green. Update lines 287-289 to state
that live branch protection was not changed and the migration remains deferred.

---

Outside diff comments:
In `@SESSION_LOG_2026_07_18.md`:
- Around line 230-232: Revise the pre-change structural assertion statement in
SESSION_LOG_2026_07_18.md to claim only that the consolidated linux-e2e job was
absent, based on the recorded missing linux-e2e failure. Remove the claim that
this assertion proved the one-day release handoff policy was absent, or document
that policy’s retention assertion failure separately.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 33c8eea5-5652-45d5-9e44-ac49521cd4b9

📥 Commits

Reviewing files that changed from the base of the PR and between 2a306f0 and 7982102.

📒 Files selected for processing (1)
  • SESSION_LOG_2026_07_18.md

Comment thread SESSION_LOG_2026_07_18.md
Comment on lines +252 to +255
- `require-ci.sh` contains the six replacement contexts. It was executed only
after pull request #372 proved all six new check names green. Post-update
verification showed strict checks and admin enforcement still enabled, force
pushes and deletions still disabled, and the pull request clean/mergeable.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Correct the documented rollout state. The session log claims that require-ci.sh ran and branch protection changed, while the supplied PR objective says the migration caller was updated but not executed and live branch protection remained unchanged.

  • SESSION_LOG_2026_07_18.md#L252-L255: state that require-ci.sh was prepared but not executed; retain the prerequisite that all six contexts must be green.
  • SESSION_LOG_2026_07_18.md#L287-L289: state that live branch protection was not changed and that the migration remains deferred.
📍 Affects 1 file
  • SESSION_LOG_2026_07_18.md#L252-L255 (this comment)
  • SESSION_LOG_2026_07_18.md#L287-L289
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@SESSION_LOG_2026_07_18.md` around lines 252 - 255, Correct
SESSION_LOG_2026_07_18.md lines 252-255 to state that require-ci.sh was prepared
but not executed, while retaining the prerequisite that all six contexts must be
green. Update lines 287-289 to state that live branch protection was not changed
and the migration remains deferred.

@laulpogan
laulpogan merged commit fc28959 into main Jul 19, 2026
10 checks passed
@laulpogan
laulpogan deleted the chore/reduce-actions-usage branch July 19, 2026 03:34
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