22
33These commands are generated by [ cpflow] ( https://github.com/shakacode/control-plane-flow ) .
44For full setup, version-pinning, and troubleshooting details, see the upstream
5- [ CI automation guide] ( https://github.com/shakacode/control-plane-flow/blob/v5.0.4 /docs/ci-automation.md ) .
5+ [ CI automation guide] ( https://github.com/shakacode/control-plane-flow/blob/2d8225572edd6f54c83ba9c51bd2983546989e93 /docs/ci-automation.md ) .
66
77## Pull Request Commands
88
@@ -89,7 +89,7 @@ normal environment-gated job cannot tell which secret scope supplied a nonempty
8989value, so a broader secret with the same name can mask a missing environment
9090secret.
9191
92- If promotion fails with
92+ If the promotion workflow fails with
9393` CPLN_TOKEN_PRODUCTION is not set. Add it as a secret on the 'production' GitHub Environment. ` ,
9494the token is missing from the environment scope or the workflow job is no longer
9595declaring ` environment: production ` . Create or verify the environment secret
@@ -98,27 +98,32 @@ You need permission to manage repository environments and secrets to run these
9898commands.
9999
100100``` sh
101- gh secret set CPLN_TOKEN_PRODUCTION --repo shakacode/react-webpack-rails-tutorial --env production
102- gh secret list --repo shakacode/react-webpack-rails-tutorial --env production
103- gh secret list --repo shakacode/react-webpack-rails-tutorial
104- gh secret list --org shakacode | grep ' ^CPLN_TOKEN_PRODUCTION[[:space:]]' || true
101+ gh secret set CPLN_TOKEN_PRODUCTION --repo OWNER/REPO --env production
102+ # Paste the token value when prompted.
103+ gh secret list --repo OWNER/REPO --env production
104+ gh secret list --repo OWNER/REPO
105+ gh secret list --org OWNER | grep ' ^CPLN_TOKEN_PRODUCTION[[:space:]]' || true
105106```
106107
107108Before the first promotion, bootstrap the production app the same way in the
108109production org, using production-only secrets and values.
109110
110111## Version Locking
111112
112- Generated wrappers pin Control Plane Flow with a release tag, for example
113- ` v5.0.4 ` . Reusable review-app, staging, cleanup, and helper workflows pin the
114- tag in their ` uses: ` ref. Production promotion pins the same tag in the
115- ` Checkout control-plane-flow actions ` step so the caller-owned job can keep
116- ` environment: production ` and receive production environment secrets directly.
113+ Generated wrappers normally pin Control Plane Flow with a release tag, for
114+ example ` v5.1.0 ` . This branch temporarily pins the wrappers to upstream commit
115+ ` 2d8225572edd6f54c83ba9c51bd2983546989e93 ` while testing
116+ merged-but-unreleased production promotion hardening. Reusable review-app,
117+ staging, cleanup, and helper workflows pin that ref in their ` uses: ` entry.
118+ Production promotion pins the same ref in its control-plane-flow checkout step
119+ so the caller-owned job can keep ` environment: production ` and receive
120+ production environment secrets directly.
117121
118122Leave ` CPFLOW_VERSION ` unset so the workflow builds cpflow from the same
119123checked-out upstream source. If you set ` CPFLOW_VERSION ` , it must match the
120- release tag, for example ` CPFLOW_VERSION=5.0.4 ` with a wrapper pinned to
121- ` uses: ...@v5.0.4 ` .
124+ release tag your wrappers are pinned to: a ` CPFLOW_VERSION=5.1.x ` runtime
125+ override goes with a wrapper pinned to ` uses: ...@v5.1.x ` (substitute the
126+ release you pinned above).
122127
123128After updating the ` cpflow ` gem in this repo, update the generated wrappers in
124129the same PR:
0 commit comments