Skip to content

Let a migration defer itself without stopping the update - #601

Merged
maralcbr merged 1 commit into
quattro-upstreamfrom
mac/53-migrate-deferred
Sep 27, 2026
Merged

maralcbr merged 1 commit into
quattro-upstreamfrom
mac/53-migrate-deferred

Conversation

@maralcbr

Copy link
Copy Markdown
Collaborator

Ticket 53, owner decision 2: the generic "deferred" migration result, mirrored from the commit added to omacom#13362 (eebfbc0 on upstream/convergence).

A migration that exits 75 (EX_TEMPFAIL) changed nothing and cannot finish yet. omarchy-migrate leaves it pending with its login notification, runs the migrations after it and exits 0, so omarchy update carries on; the next update or login retries it. Any other failure still stops the queue with its status. migrations/1790347292.sh passes a deferred refusal of its entrypoint through. The migrations guide, file layout and lifecycle dispatch docs say so.

Tests: new test/shell.d/migrate-deferred-test.sh (deferred stays pending with notification while later ones run, retried every run, other statuses still stop the queue); platform-migration-test.sh gains the 75 pass-through. Ran migrate-deferred, migrate-wrapper, migrate-notify, migrate-scope, platform-migration and bin-style in an Arch container; the full runtime suite on the upstream branch shows only the failures its base already has in that container (pkgs checkout, mise, namespaces).

Second review: no findings on this part.

A migration that exits 75 changed nothing and cannot finish yet: omarchy-migrate
leaves it pending with its login notification, runs the migrations after it and
exits 0, so omarchy update carries on. Any other failure still stops the queue.
The platform migration passes a deferred refusal of its entrypoint through.
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