Skip to content

Fix review app release runner resource defaults#802

Open
justin808 wants to merge 1 commit into
masterfrom
fix/review-app-release-runner-resources
Open

Fix review app release runner resource defaults#802
justin808 wants to merge 1 commit into
masterfrom
fix/review-app-release-runner-resources

Conversation

@justin808

@justin808 justin808 commented Jul 24, 2026

Copy link
Copy Markdown
Member

Why

A fresh-default review-app deployment reached the configured release phase and submitted its release job, but subsequent polling found no runner replica or runner logs. The application image update never began. This is consistent with a pre-process runner scheduling or instantiation failure, but the available evidence does not identify a more specific provider cause.

Related to #784. The issue remains open pending live verification.

What changed

The dynamic QA/review-app configuration now gives one-off jobs the same baseline resources as the Rails workload:

  • 300m CPU
  • 1Gi memory
  • 900-second server-side active deadline

The overrides are scoped to the prefix-matched QA/review-app entry. Production, staging, and the shared configuration retain cpflow's prior defaults. The existing release migration gate remains enabled.

The 15-minute deadline applies to every one-off job in review apps, not only release migrations. A legitimate review-app administrative task that exceeds that duration will be terminated. This setting also does not prove that the previously observed no-replica polling interval will itself be bounded.

Validation

  • YAML safe-load and alias assertions: the shared, production, and staging configurations have no runner overrides; the QA/review-app entry alone resolves 300m, 1Gi, and 900; the release script remains present.
  • bin/conductor-exec cpflow config: passed; each new value resolves exactly once.
  • bin/conductor-exec bin/test-cpflow-github-flow cpflow: passed.
  • bin/conductor-exec .agents/bin/validate: passed.
  • git diff --check origin/master...HEAD: passed.
  • Exact one-file edit-envelope and config-security assertions: passed; no credential, identity, image, permission, endpoint, or release-gate fields changed.
  • codex review --base origin/master: passed with no findings on the final head.
  • Report-only /simplify origin/master...HEAD: no fix recommended and no files changed.

A repo-wide bin/conductor-exec actionlint run reports pre-existing findings in three unchanged workflow files. This PR does not modify those files.

Live verification

Live efficacy is still unproven. The repair PR's review-app deployment must demonstrate that the release runner is instantiated and the release gate completes before this change is considered merge-ready. No deployment was manually triggered as part of local validation.

Review churn

  • Pre-push review: final-head Codex review plus maker-distinct audit and report-only simplify pass.
  • Follow-up commits after first push: 0.
  • Current limitation: live repair-PR deployment evidence is pending.

Summary by CodeRabbit

  • Chores
    • Updated review-app one-off job defaults with 300m CPU and 1 GiB memory allocations.
    • Added a 15-minute timeout for these jobs.

@github-actions

Copy link
Copy Markdown

🚀 Quick Review App Commands

Welcome! Here are the commands you can use in this PR:
They require the repository to have cpflow review apps configured, including the CPLN_TOKEN_STAGING secret.

+review-app-deploy

Deploy your PR branch for testing.

+review-app-delete

Remove the review app when done.

+review-app-help

Show detailed instructions, environment setup, and configuration options.

Comment +review-app-help for full setup details.

@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: b0eaaad9-1d05-40b0-8e11-ab159662e33b

📥 Commits

Reviewing files that changed from the base of the PR and between b7f5b14 and ec08723.

📒 Files selected for processing (1)
  • .controlplane/controlplane.yml

Walkthrough

The Control Plane configuration adds CPU, memory, and timeout defaults for one-off review app runner jobs.

Changes

Runner job defaults

Layer / File(s) Summary
Configure one-off runner resources and timeout
.controlplane/controlplane.yml
Adds 300m CPU, 1Gi memory, and a 900-second timeout for review app one-off runner jobs.

Estimated code review effort: 1 (Trivial) | ~2 minutes

🚥 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: adjusting review app release runner resource defaults.
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 fix/review-app-release-runner-resources

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.

Comment thread .controlplane/controlplane.yml
@claude

claude Bot commented Jul 24, 2026

Copy link
Copy Markdown

Review

Overview

Single-file, additive config change to .controlplane/controlplane.yml. It adds three cpflow one-off-job overrides (runner_job_default_cpu: "300m", runner_job_default_memory: "1Gi", runner_job_timeout: 900) scoped to the qa-react-webpack-rails-tutorial (review-app) entry, aiming to give one-off/release jobs the same baseline resources as the Rails workload. Production, staging, and the shared common alias are untouched.

Code quality / correctness

  • Change is minimal, well-scoped, and placed logically within the existing qa-react-webpack-rails-tutorial block (merges via <<: *common, doesn't touch the alias itself).
  • CPU/memory values are correctly quoted as strings (Kubernetes-style resource quantities with units), while the integer timeout is left unquoted — consistent with how these fields are typically consumed.
  • The explanatory comment is a little redundant with the PR description but is reasonable to keep for future readers who won't see the PR body.
  • No YAML anchors/aliases were changed, so react-webpack-rails-tutorial-staging and -production are unaffected, matching the stated intent.

Risk / potential issues

  • Scope of the timeout: runner_job_timeout: 900 applies to all one-off jobs run against QA/review apps, not just the release/migration job. A legitimate longer-running one-off (manual debugging task, data backfill, etc.) run against a review app will now be killed after 15 minutes. The PR description acknowledges this explicitly — left an inline comment on the relevant line for visibility.
  • Unproven root-cause fix: per the PR's own description, this is a speculative mitigation for issue Follow-up: Repair review-app setup and exercise deployed smoke #784 (missing runner replica/logs) — live deployment verification is still pending. The resource bump may not address the actual root cause if it's a scheduler/provider-side issue rather than a resource-starvation issue. Since this is low-risk, reversible config (review apps only), that seems like an acceptable way to test the hypothesis, but worth confirming the follow-up verification actually happens before treating Follow-up: Repair review-app setup and exercise deployed smoke #784 as resolved.
  • No automated test coverage for this (expected, since it's a deploy-tooling YAML config, not app code) — the PR description's manual cpflow config / YAML-load validation steps are a reasonable substitute.

Security

No credentials, identities, images, permissions, or endpoints are touched — consistent with the PR's stated config-security assertions. No concerns here.

Suggestions

  • Consider whether the 900s timeout should be documented as applying to all review-app one-offs (not just release) somewhere more discoverable than the PR description, e.g., in .controlplane/docs/ or the inline comment, so a future engineer debugging a killed one-off job in a review app has a pointer back to this decision.

@greptile-apps

greptile-apps Bot commented Jul 24, 2026

Copy link
Copy Markdown

Greptile Summary

Updates review-app one-off runner defaults.

  • Assigns 300m CPU and 1Gi memory to one-off jobs for prefix-matched QA/review apps.
  • Adds a 900-second active deadline for those jobs.
  • Leaves shared, staging, and production runner defaults unchanged.

Confidence Score: 5/5

The PR appears safe to merge, with no concrete blocking or non-blocking defects identified in the changed configuration.

The runner overrides are confined to the prefix-matched QA configuration, align with the Rails workload resources, and do not alter production or staging settings.

Important Files Changed

Filename Overview
.controlplane/controlplane.yml Adds internally consistent, review-app-scoped CPU, memory, and timeout defaults without an identified actionable defect.

Reviews (1): Last reviewed commit: "Fix release runner scheduling resource r..." | Re-trigger Greptile

@justin808

Copy link
Copy Markdown
Member Author

Address-review summary

Scan scope: full PR history after the complete current-head review wave.

Mattered

  • None.

Skipped

  • One current-head inline concern was verified as already documented and intentionally scoped to QA/review apps. The broader one-off timeout tradeoff was accepted, production and staging remain unchanged, and no code change was warranted. Rationale was posted and the thread was resolved: Fix review app release runner resource defaults #802 (comment)

Next default scan starts after this comment. Say check all reviews to rescan the full PR.

@justin808

Copy link
Copy Markdown
Member Author

+review-app-deploy

@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown

❌ Review App Deployment Failed

Deployment failed for PR #802, commit ec08723

🎮 Control Plane Console
📋 View Failed Action Build and Deploy Logs

@github-actions
github-actions Bot had a problem deploying to review/qa-react-webpack-rails-tutorial-802 July 24, 2026 13:51 Failure
@justin808

Copy link
Copy Markdown
Member Author

+review-app-delete

@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown

✅ Review App Deleted

Review app for PR #802 is deleted

🎮 Control Plane Console
📋 View Workflow Logs

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