π fix(triggers): prevent compose update from destroying container on failure (#391)#407
Merged
Conversation
β¦oc links - π Fold [Unreleased] + all rc.1βrc.28 sections into a single cumulative `## [1.5.0] β 2026-05-30` entry so release-cut emits complete notes; add the previously-undocumented #402 auth `/health` readiness fix and drop orphaned [Unreleased]/[1.5.0-rc.*] compare-link defs - π Fix broken deep-link in actions docs β triggers#environment-variable-prefixes - π Fix broken deep-link in watchers docs β deprecations#legacy-trigger-labels - π Clarify migration-CLI callout: messaging providers may rename to DD_NOTIFICATION_* manually (CLI emits DD_ACTION_* for all types)
β¦failure (#391) refreshComposeServiceWithDockerApi removed the old container before recreating it, so a failed create (e.g. pulled image not available for the host platform) left the service with zero containers and no recovery. - π Add pre-flight host-architecture compatibility check on the pulled image; abort before stop/remove if incompatible (the #391 arch-mismatch vector) so the running container is untouched - π Wrap stop/remove β recreate so a recreate failure restores the original container from its captured spec, then re-throws the error - π§ͺ Add 10 [#391] regression tests; 100% coverage on Dockercompose.ts - π CHANGELOG: revert premature [1.5.0] promotion back to [Unreleased] (cutting rc.29, not final) and add the #391 Fixed entry Fixes: #391
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Codecov Reportβ All modified and coverable lines are covered by tests. π’ Thoughts on this report? Let us know! |
biggest-littlest
approved these changes
May 31, 2026
Member
biggest-littlest
left a comment
There was a problem hiding this comment.
Reviewed the #391 compose rollback fix (pre-flight arch check + spec-snapshot restore) and the 10 regression tests β logic is sound, CI Verify + E2E green. Approving for v1.5.0-rc.29.
ALARGECOMPANY
approved these changes
May 31, 2026
Member
ALARGECOMPANY
left a comment
There was a problem hiding this comment.
Confirmed: rollback path restores the original container on recreate failure and the arch pre-flight aborts before any destructive step. Tests cover both. LGTM for rc.29.
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.
Summary
v1.5.0-rc.29 prep. Bundles the #391 data-loss fix with the changelog/doc finalization from this release-prep pass.
π Fix β #391: failed compose update no longer destroys the container
refreshComposeServiceWithDockerApiremoved the old container before recreating it, so any failure of the create step (e.g. the pulled image isn't available for the host platform β the reporter's arm/v6-vs-amd64 case) left the service with zero containers and no recovery.[#391]regression tests, 100% coverage onDockercompose.ts,tscclean.π Release prep (commit
af81002f)## [Unreleased]so release-cut stamps rc.29).DD_NOTIFICATION_*.Test plan
npx vitest run triggers/providers/dockercomposeβ 570 pass, 100% coverage on changed filetsc --noEmitcleanFixes #391