Repository navigation
refactor(cf-v2): one persistent-dev delivery job (fold manual dispatch into the delivery workflow) - #92
Merged
Conversation
…ivery workflow The engine had two jobs named `persistent-dev`: `delivery_persistent_dev` (automatic DAG delivery) and a separate `persistent-dev` job calling `_cf-worker-persistent-dev.yml` (manual workflow_dispatch). There is now ONE: `delivery_persistent_dev` also fires for the protected dispatch and passes `manual: true`; `_cf-worker-delivery.yml` runs its new `manual` job instead of deploy / smoke / rollback. `_cf-worker-persistent-dev.yml` is deleted. Preserved: manual-only (dispatch, hybrid, non-empty persistent_dev_ref, github.ref == persistent_dev_ref, never on push or in a verify call); engine manual mode (no automatic recovery) or the legacy two-command contract (never in the last-good ledger); `<app>/dev` Environment; same concurrency group; narrower permissions (contents read, deployments write); the automatic path and every public workflow_call input/output/secret unchanged. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The engine had two jobs named
persistent-dev(both shown as "persistent-dev" per app in the Actions UI):delivery_persistent_dev- automatic DAG delivery via_cf-worker-delivery.ymlpersistent-dev- manualworkflow_dispatchhandler via_cf-worker-persistent-dev.ymlNow there is one.
delivery_persistent_devalso fires for the protected dispatch and passesmanual: true._cf-worker-delivery.ymlgains amanualboolean input and amanualjob that runs instead of deploy / smoke / rollback._cf-worker-persistent-dev.ymlis deleted (no longer called). Nested check shows aspersistent-dev / manual.Preserved behaviours
ifhas an extra branch requiringworkflow_dispatch,dispatch_target == persistent-dev,hybrid, non-emptypersistent_dev_ref,github.ref == persistent_dev_ref, not a verify phase; it never runs on a push. The engine still re-checks the ref (tested with the gate bypassed).dev_build_cmd, the legacy two-command contract, which never touches the last-good ledger.<app>/devis still a property of the manual job, so protection rules and approvals apply.cfv2-dev-<repo>-<d1_lock_scope|app>,cancel-in-progress: false.contents: read, deployments: write(not the delivery anchor'spull-requests: write); no Preview secrets referenced.ifbranch, migration/smoke/ledger/rollback and descriptor are untouched; deploy/smoke/rollback only gain&& !inputs.manual.workflow_callinput/output/secret of_cf-worker-v2.ymlchanged, so callers need no change. The delivery workflow is internal (new optionalmanualinput).Tests
Updated
test-workflow-contract.pyandtest-jobs.py(manual job executed for real viadelivery_persistent_dev->manual; new checks for the combinedif,manualflag, permissions, groups, no recovery), and dropped the stale path fromcf-worker-v2-ci.yml/docs.scripts/cf-preview/test.sh full->PASSED (full)(fast + 91s chain; contract 578 PASS, 0 FAIL). Baseline onorigin/mainwas also green.@v2rewritten to local; callers not edited): innovation-appsdiet-manager.yml+notification-hub.ymland heaven-monorepoorigin/maincicd.yml-> actionlint rc=0. firstsun-blog uses_cf-worker-template.yml, not the v2 engine.Not verified: a real GitHub run of the dispatch (needs a scratch caller run); the
v2tag is untouched, callers only pick this up when the tag is moved.🤖 Generated with Claude Code