Skip to content

Upgrade review apps to cpflow 6.0.1 and drop local action copies - #861

Closed
justin808 wants to merge 1 commit into
masterfrom
justin808-claude/cpflow-6.0.1
Closed

justin808 wants to merge 1 commit into
masterfrom
justin808-claude/cpflow-6.0.1

Conversation

@justin808

@justin808 justin808 commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

Summary

Review apps for this repo now deploy and delete with cpflow 6.0.1, and the eight checked-in .github/actions/cpflow-* copies are removed.

cpflow 6.0.0 ran its composite actions from copies checked in to the caller repository. cpflow 6.0.1 loads them from the pinned upstream ref again (./.cpflow/.github/actions/cpflow-*), so the copies are unused. See Removing cpflow 6.0.0 action copies.

  • Gem: cpflow moves from 6.0.0 to 6.0.1 in Gemfile and Gemfile.lock.
  • Pins: the review-app deploy and delete callers move from 68b5d83152c02a70eb98ffdc7fd2072e28265fef # v6.0.0 to 6aa575780f2d9175755881b79cbb3253adbc9c1f # v6.0.1. The callers are otherwise identical to the 6.0.1 gem's templates.
  • Copies: .github/actions/cpflow-* is removed (8 actions, about 1,280 lines).
  • Contract check: bin/check-cpflow-review-app-contract keeps the gem-version and pin checks at 6.0.1. The byte-for-byte copy comparison is replaced by a check that no .github/actions/cpflow-* directory exists.
  • Spec: spec/cpflow_review_app_contract_spec.rb follows the checker. The shell-input specs for the setup and delete actions now read the released actions from the bundled 6.0.1 gem instead of the local copies.
  • Docs: .github/cpflow-help.md, .github/testing-github-actions.md, .controlplane/readme.md, .controlplane/shakacode-team.md, and .controlplane/docs/testing-cpflow-github-actions.md describe the 6.0.1 pin and no longer tell readers to keep copies in sync.

Pin provenance

v6.0.1 is a lightweight tag on commit 6aa575780f2d9175755881b79cbb3253adbc9c1f, the merge of shakacode/control-plane-flow#514 and the tip of main at release time. Resolved with gh api repos/shakacode/control-plane-flow/git/ref/tags/v6.0.1 and confirmed against a local fetch of the tag.

Left unchanged

Staging, stale-review-app cleanup, help, and production promotion stay on their v5.2.0 pin (1d1ec7f7af181c5c6cf07f512ce336dbdb367246), per this repo's split-cohort rule. Only the two review-app callers used the local copies; the 5.2.0 cohort already loads its actions from its own pinned upstream source. The customized bin/test-cpflow-github-flow validator is kept as is.

Validation

Check Result
ruby bin/check-cpflow-review-app-contract PASS: review-app release contract: v6.0.1
bin/test-cpflow-github-flow PASS (exit 0): readiness, contract check, workflow ref check, actionlint
bundle exec rspec spec/cpflow_review_app_contract_spec.rb PASS: 33 examples, 0 failures
bundle exec rubocop PASS: 59 files, no offenses
Full local suite (.agents/bin/validate) Not finished when this was written; result will be added as a comment
Review-app deploy and delete on this branch Not run yet; maintainer-dispatched, results will be added as a comment

Comment commands run the default-branch workflows, so the 6.0.1 callers can only be exercised before merge by dispatching them on this branch.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Updates
    • Updated the review-app deployment and deletion workflows to cpflow 6.0.1.
    • The workflows now use actions from the pinned release rather than repository-maintained copies.
    • Updated local cpflow setup and validation to match the new release.
  • Documentation
    • Updated workflow guidance to reflect the 6.0.1 upgrade and the source of its actions.
  • Chores
    • Removed repository-local cpflow actions. Other generated workflows remain on version 5.2.0.

cpflow 6.0.1 loads its composite actions from the pinned upstream ref
again, so the review-app deploy and delete callers no longer read
.github/actions/cpflow-*.

- Bump the cpflow gem to 6.0.1.
- Repin both callers to the v6.0.1 commit
  (6aa575780f2d9175755881b79cbb3253adbc9c1f).
- Remove the eight checked-in action copies.
- Make the contract check reject any leftover copy instead of comparing
  the copies with the gem; the shell-input specs read the released
  actions from the bundled gem.
- Update the docs that described the copies.

Staging, cleanup, help, and promotion stay on v5.2.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@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.

@github-actions

Copy link
Copy Markdown

No description provided.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-11T08:27:12.161343Z 4e9fdfd PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 21870bd3-0705-44f4-bf64-8ba20863b1f7

📥 Commits

Reviewing files that changed from the base of the PR and between 23cbd83 and 4e9fdfd.


⛔ Files ignored due to path filters (1)
  • Gemfile.lock is excluded by !**/*.lock

📒 Files selected for processing (20)
  • .controlplane/docs/testing-cpflow-github-actions.md
  • .controlplane/readme.md
  • .controlplane/shakacode-team.md
  • .github/actions/cpflow-build-docker-image/action.yml
  • .github/actions/cpflow-delete-control-plane-app/action.yml
  • .github/actions/cpflow-delete-control-plane-app/delete-app.sh
  • .github/actions/cpflow-detect-release-phase/action.yml
  • .github/actions/cpflow-preview-promotion/action.yml
  • .github/actions/cpflow-preview-promotion/preview-promotion.sh
  • .github/actions/cpflow-resolve-review-config/action.yml
  • .github/actions/cpflow-setup-environment/action.yml
  • .github/actions/cpflow-validate-config/action.yml
  • .github/actions/cpflow-wait-for-health/action.yml
  • .github/cpflow-help.md
  • .github/testing-github-actions.md
  • .github/workflows/cpflow-delete-review-app.yml
  • .github/workflows/cpflow-deploy-review-app.yml
  • Gemfile
  • bin/check-cpflow-review-app-contract
  • spec/cpflow_review_app_contract_spec.rb

💤 Files with no reviewable changes (10)
  • .github/actions/cpflow-delete-control-plane-app/action.yml
  • .github/actions/cpflow-delete-control-plane-app/delete-app.sh
  • .github/actions/cpflow-build-docker-image/action.yml
  • .github/actions/cpflow-preview-promotion/action.yml
  • .github/actions/cpflow-detect-release-phase/action.yml
  • .github/actions/cpflow-preview-promotion/preview-promotion.sh
  • .github/actions/cpflow-validate-config/action.yml
  • .github/actions/cpflow-resolve-review-config/action.yml
  • .github/actions/cpflow-setup-environment/action.yml
  • .github/actions/cpflow-wait-for-health/action.yml

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.



Walkthrough

The review-app deploy and delete workflows and local cpflow gem move to version 6.0.1. The repository removes checked-in cpflow actions. The contract checker and tests now validate the pinned release and reject local action copies.

Changes

Review-app workflow migration

Layer / File(s) Summary
Pin review-app callers to cpflow 6.0.1
.github/workflows/cpflow-*.yml, Gemfile, .controlplane/readme.md, .controlplane/shakacode-team.md, .github/cpflow-help.md, .github/testing-github-actions.md, .controlplane/docs/testing-cpflow-github-actions.md
The deploy and delete workflows and local gem are pinned to cpflow 6.0.1 and its release SHA. Documentation updates the version and identifies the control-plane-flow repository.
Use release-provided actions
.github/actions/cpflow-*, bin/check-cpflow-review-app-contract, .controlplane/docs/testing-cpflow-github-actions.md
The repository removes checked-in cpflow actions and their scripts. The contract checker reports local cpflow action copies, and the workflow documentation describes checking out the pinned source separately from the application.
Validate the pinned release and local action policy
spec/cpflow_review_app_contract_spec.rb
Contract tests use cpflow 6.0.1, load action definitions from the installed gem, and verify that callers without local copies pass while leftover copies fail.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to 4e9fd

The migration is mergeable after normal checks; no remaining workflow was found to depend on the removed local actions.

Pre-merge checks | Passed 4 | Failed 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (9 skipped: 9 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main changes: upgrading review apps to cpflow 6.0.1 and removing local action copies.
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.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (9 skipped: 9 unsupported.)


  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR


🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@claude

claude Bot commented Oct 11, 2026

Copy link
Copy Markdown

Reviewed the diff. No blocking issues.

  • The pins, Gemfile, Gemfile.lock, checker constants and specs all agree on 6.0.1 / 6aa5757….
  • Nothing in the repo still references the removed .github/actions/cpflow-* copies. The v5.2.0 workflows use upstream-pinned actions, so removing the local copies is safe.
  • Replacing the byte-for-byte comparison with a check that no cpflow-* copy exists is reasonable. The glob also catches a stray file, not just a directory.
  • Reading the shell-input specs from the bundled gem keeps them testing the released actions.
  • One note: the PR body says the full suite and a review-app deploy/delete on this branch haven't been run. I'd run those before merging, because the 6.0.1 callers can only be exercised by dispatching them on this branch.

🤖 Generated with Claude Code

@justin808

Copy link
Copy Markdown
Member Author

Local validation on 4e9fdfd

Step Result
.agents/bin/setup PASS
RuboCop PASS: 59 files, no offenses
ESLint PASS, run with the worktree's own .eslintrc
Test asset build PASS
Jest PASS: 16 tests in 4 suites
RSpec, full suite 84 examples, 41 failures; see below
spec/cpflow_review_app_contract_spec.rb PASS: 33 examples, 0 failures
bin/test-cpflow-github-flow PASS (exit 0)

The 41 local RSpec failures are all in browser-driven spec files (spec/system, spec/stimulus/turbo_spec.rb, spec/rescript/rescript_spec.rb) and report SessionNotCreatedError: the local ChromeDriver supports Chrome 150 and the installed Chrome is 156. No browser session started, so these specs did not exercise this change locally. Hosted Rspec CI, JS CI, and Lint CI pass on this head; that is the evidence for the browser specs.

.agents/bin/validate itself stopped at ESLint because the worktree sits inside another checkout and ESLint read that checkout's config. The remaining steps were run one by one, as listed.

Review-app deploy and delete on this branch are still to be dispatched by the maintainer.

🤖 Generated with Claude Code

@greptile-apps

greptile-apps Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[High impact] The reviewed changes appear safe to merge; no actionable issue was established.

Summary

Updates the review-app deploy/delete pair and bundled cpflow dependency to 6.0.1.

  • Review-app deploy and delete workflows use cpflow 6.0.1.
  • Review-app workflows load composite actions from their pinned release.

No actionable issues were established. Tests were not run during this review, and the upstream release source could not be inspected.

Scope acknowledged by justin808: staging, cleanup, help, and production promotion intentionally remain on 5.2.0; the customized bin/test-cpflow-github-flow is intentionally kept unchanged.

Reviews (1) · Last reviewed commit: "Upgrade review apps to cpflow 6.0.1 and ..." · Reviewed by Greptile

@justin808

Copy link
Copy Markdown
Member Author

Closing as superseded by #862, which merged the same cpflow 6.0.1 upgrade and copy removal as a749064 and was proven by a branch-dispatched deploy and delete. No dispatch was run on this branch.

Two things here that #862 did not carry over, noted in case they are wanted later: a contract check that fails if a .github/actions/cpflow-* directory reappears, and the shell-input specs for the setup and delete actions, read from the bundled gem.

🤖 Generated with Claude Code

@justin808 justin808 closed this Oct 12, 2026
@github-actions

Copy link
Copy Markdown

No description provided.

@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

✅ Review App Deleted

Review app for PR #861 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