Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enhancement]: Move compose code to a separate Go module #646

Closed
mdelapenya opened this issue Nov 30, 2022 · 2 comments · Fixed by #650
Closed

[Enhancement]: Move compose code to a separate Go module #646

mdelapenya opened this issue Nov 30, 2022 · 2 comments · Fixed by #650
Labels
compose Docker Compose. enhancement New feature or request

Comments

@mdelapenya
Copy link
Collaborator

Proposal

I think moving compose files to their own module would simplify the dependency tree for testcontainer-go.

Users of compose will have to deal with the transitive dependencies hack that we currently have at the main module, caused by Compose for Go, removing them from the main.

@baez90 wdyt?

@mdelapenya mdelapenya added compose Docker Compose. enhancement New feature or request labels Nov 30, 2022
@mdelapenya mdelapenya changed the title [Enhancement]: Move compose code to a separate module [Enhancement]: Move compose code to a separate Go module Nov 30, 2022
@prskr
Copy link
Contributor

prskr commented Dec 1, 2022

I like the idea! Also I'm sorry that docker-compose refactoring caused so much pain so far but moving it to an extra module makes sense and keeps the dependency tree sleek for the main module, which is a very good thing!

@mdelapenya
Copy link
Collaborator Author

Well, I should have kept an eye on dependencies too, so I share your feeling :)

Because of Docker Compose is depending on a non-released version of Docker:

image

The signature of the ContainerStop function -which we use in the Container.Stop function- changed, therefore it's not possible to use the right arguments in the main module: it compiles because it uses Docker v20.10.19+incompatible, but the compose module does not compile because it uses v20.10.3-0.20221013203545-33ab36d6b304+incompatible // 22.06 branch).

I truly think it's the right to do, to separate the module, also because of the number of transitive dependencies that we are distributing have way increased. See the differences between 0.15.0 and 0.16.0.

I started a draft PR here #650, let's see where it takes us

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compose Docker Compose. enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants