You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Pause migrate for an approval and let rollback run without one (S-008-13, S-008-14) #165
Builds part of spec S-008, docs/specs/008-enforce-manual-approval.md (feature issue #106): the acceptance criteria below. Each needs a test that names its id (test_s008_<k>_..., or a proves: S-008-13 comment line).
This is rollback (no approval needed) and migrate pausing at a deploy step until a person approves.
S-008-13: rollback --yes of a manual application's component runs without any record, and its plan shows approval with required: false and a reason
S-008-14: migrate --build crm-backend=main --yes on a manual project exits PARTIAL_FAILURE paused at deploy:crm-backend with context.code: deployment_approval_missing and the built release; after release approve for that release, migrate --yes resumes, runs no artifact build, and completes the deploy:crm-backend step
Triage: implement. Serves: G-2. A build issue of spec S-008 (docs/specs/008-enforce-manual-approval.md, approved in #128), sub-issue of #106. The criteria above are the scope; each gets a test naming its id. It starts once every issue on its Depends on line has closed.
The build is in #182, stacked on #178: migrate's deploy step goes through the same approval check as deploy --yes, so a manual application pauses at deploy:<component> with PARTIAL_FAILURE / deployment_approval_missing and the built release; after release approve, migrate --yes resumes with the recorded release, without building again, and accepts only the approved archive. rollback --yes runs with no record, its plan showing approval with required: false and a reason. It sets spec S-008 to built (all 16 criteria checked) and closes #106.
Trade-off: a resumed migrate --yes no longer needs --build for a component whose build step the saved plan completed, which S-008-14's "plain migrate --yes resumes" reads as. This issue closes when #182 merges, right after #178.
Released in v0.8.0rc14 (pre-release).
A plain install gets it with the next stable release.
If you filed this: react 👍 on this comment once it works for you, or reply if it doesn't.
Activity
shipmill-romamo commentedon Oct 30, 2026
Triage: implement. Serves: G-2. A build issue of spec S-008 (
docs/specs/008-enforce-manual-approval.md, approved in #128), sub-issue of #106. The criteria above are the scope; each gets a test naming its id. It starts once every issue on itsDepends online has closed.shipmill-romamo commentedon Oct 30, 2026
The build is in #182, stacked on #178:
migrate's deploy step goes through the same approval check asdeploy --yes, so amanualapplication pauses atdeploy:<component>withPARTIAL_FAILURE/deployment_approval_missingand the built release; afterrelease approve,migrate --yesresumes with the recorded release, without building again, and accepts only the approved archive.rollback --yesruns with no record, its plan showingapprovalwithrequired: falseand a reason. It sets spec S-008 tobuilt(all 16 criteria checked) and closes #106.Trade-off: a resumed
migrate --yesno longer needs--buildfor a component whose build step the saved plan completed, which S-008-14's "plainmigrate --yesresumes" reads as. This issue closes when #182 merges, right after #178.shipmill-romamo commentedon Oct 31, 2026
Released in v0.8.0rc14 (pre-release).
A plain install gets it with the next stable release.
If you filed this: react 👍 on this comment once it works for you, or reply if it doesn't.