chore: test compose-spec/compose-go#874 (v3 yaml.Node-based loader) — DO NOT MERGE#13799
Draft
ndeloof wants to merge 3 commits into
Draft
chore: test compose-spec/compose-go#874 (v3 yaml.Node-based loader) — DO NOT MERGE#13799ndeloof wants to merge 3 commits into
ndeloof wants to merge 3 commits into
Conversation
81c1f0a to
becc8da
Compare
ndeloof
added a commit
to ndeloof/compose-go
that referenced
this pull request
May 20, 2026
Three regressions reported when bumping docker/compose to compose-go v3:
1. TestSecretFromInclude — a variable provided by include.env_file that
interpolates a field of the included tree (e.g. the file path of a
secret) was lost because interpolation happened post-merge and nodes
reshaped by specialized mergers no longer carried the include context.
Interpolation now runs on each layer before merge using the layer
NodeContext.Env, so variables from include.env_file are resolved
against the right environment.
2. TestPublishChecks/refuse_to_publish_with_local_include — the
"include" Listener event used by docker compose publish to detect
local includes was not emitted by the v3 loader. loadIncludeEntry
now calls opts.ProcessEvent("include", {path, workingdir}) for every
include entry, matching loader/include.go.
3. TestPublish (OCI extends round-trip) — extending a service declared
in a remote-loaded compose file (typically resolved through a hashed
OCI path) must propagate the base service fields (image, command, ...)
into the extender and clear the extends key so a downstream publish
then reload without the loader still works. The existing pipeline
already produced the right shape; the test
TestExtends_RemoteResource_RoundTrip locks that behaviour.
Tests added:
- TestInclude_EnvFile_InterpolatesIncludedSecret
- TestInclude_EmitsIncludeListenerEvent
- TestExtends_RemoteResource_PropagatesImage
- TestExtends_RemoteResource_RoundTrip
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add a go.mod `replace` directive pointing the compose-go dependency at ndeloof/compose-go branch `v3-yaml-node-context` (PR compose-spec/compose-go#874) and migrate all imports from `compose-spec/compose-go/v2` to `/v3`. DO NOT MERGE — exploratory branch to validate CI against the v3 loader refactor. Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
becc8da to
c294b15
Compare
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
9b241ee to
7f21c08
Compare
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
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
replaceingo.modpointinggithub.com/compose-spec/compose-go/v3to the head of compose-spec/compose-go#874 (commit2609dbcc99e81731403cb612d3e272cd8ffd5989fromndeloof/compose-go@v3-yaml-node-context).compose-spec/compose-go/v2to/v3(72 files).make buildandgolangci-lint run --build-tags e2e ./...both pass.Why
Exploratory branch to validate the upstream v3 loader refactor (
yaml.Nodebased loader with preserved context) against the full Compose test matrix and CI environment before the v3 cut-over.DO NOT MERGE — this is a CI probe and the replace target is a feature branch.
Test plan