Repository navigation
Conversation
The e2e framework (framework.go, scenario.go, checks.go, assert.go) and the e2e tests lived under pkg/e2e, so the framework was published as part of the public /v5 API although it is only test support code. Move it to internal/e2e. This is a pure move: the files keep their content, only the references to the old path (Makefile, .golangci.yml, codecov.yml, .gitignore, AGENTS.md and SCENARIO.md) are updated. internal/e2e is at the same depth as pkg/e2e, so the relative paths to bin/, relay/ and testdata keep working. Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
docker-agent
left a comment
Contributor
There was a problem hiding this comment.
Assessment: 🟢 APPROVE
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
4 of 15 tasks
This branch has not been deployed
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 this PR does, in one sentence
Moves the e2e framework and the e2e tests from
pkg/e2etointernal/e2e, so they are no longer part of the public/v5API surface.Context
pkg/e2eholds the e2e test support code (framework.go,scenario.go,checks.go,assert.go, the build-tag specific configs) as regular, non-test Go files. Being underpkg/, they are published as part ofgithub.com/docker/compose/v5and look like a supported SDK package, although they are only meant to drive the test suite. This is one of the items of the "Public surface" section of #14396.What the PR brings
pkg/e2ebecomesinternal/e2e(framework, tests,testdata,fixturesandSCENARIO.md), done withgit mvso history and rename detection are preserved.Makefilee2e targets,.golangci.ymlexclusion of the e2e package from the "library must not depend on the CLI" rule,codecov.yml,.gitignore,AGENTS.md/CLAUDE.mdandSCENARIO.md). No workflow,Dockerfileordocker-bake.hclhardcoded the path, and nothing outside the package imported it.internal/e2eis at the same depth aspkg/e2e, so the relative paths (../../bin/build,../../relay,GOCOVERDIRroot,testdata) keep working unchanged. Thee2eandstandalonebuild tags are untouched.pkg/e2e(fix(use_api_socket): harden the credentials handed to the service #14402, fix(config): warn about ignored uid/gid/mode at creation, not at load #14299, fix: surface a provider-backed service's scale over its control channel #14298, feat: support mount and secret injection for provider extensions (fix… #14230, jobs: add support for one-shot and scheduled jobs #14155, cli: one project-resolution story — single name precedence, no swallowed load error, strict service validation #14151) withgit merge-tree: git follows the rename and merges the e2e files automatically. The only conflicts reported (in feat: support mount and secret injection for provider extensions (fix… #14230 and jobs: add support for one-shot and scheduled jobs #14155) are content conflicts inpkg/files that are identical with and without this PR, because those branches are far behindmain.To the authors of those PRs: a plain
git rebase origin/main(or merge) will carry yourpkg/e2e/...changes over tointernal/e2e/...thanks to rename detection, no manual action should be needed.Why this is the right next brick
It is the smallest, fully mechanical step to get test-only code out of the public API, and doing it as a pure rename (no content change) keeps it cheap to review and conflict-free for in-flight work, before any further cleanup of the public surface.
Part of #14396
🤖 Generated with Claude Code