feat: use docker-compose library, download docker-buildx, fixes #7915#8234
feat: use docker-compose library, download docker-buildx, fixes #7915#8234
Conversation
|
Download the artifacts for this pull request:
See Testing a PR. |
5c26179 to
25b59e4
Compare
25b59e4 to
dc7e9aa
Compare
dc7e9aa to
aa23000
Compare
|
Rebased, trivial merge conflict. |
|
I imagine I shouldn't have mucked with this, I only intended a rebase. But since I did rebase it, and since you can back out both the rebase and the fix, here's the analysis of the breakage.
Build breakage from docker/cli v29.3.0After the rebase onto upstream/main, the build broke with: Root cause: v29.3.0 (pulled in by the deps update in #8198) introduced This is a known recurring issue in docker/cli: docker/cli#6852. The maintainers have described it as "whack-a-mole" until they adopt a proper Fix applied: Pinned Going forward: When bumping Re CI: This should have been caught by CI before the rebase landed in upstream/main via #8198. Worth checking why the build job did not fail there. |
cce3c05 to
67f6a57
Compare
67f6a57 to
cfd2454
Compare
The Issue
Related:
How This PR Solves The Issue
We added a requirement for
docker-buildxin:Docker Compose has required this since v2.40.2, but the requirement was only triggered when installing extra packages or using EOL PHP versions like 7.4. Most users never hit this problem.
However, some users have trouble configuring Docker Buildx, likely because the setup steps are not always read carefully.
This PR uses the Docker Compose SDK to download
docker-buildxto$HOME/.ddev/bin/docker-buildx, and updatescliPluginsExtraDirsto include$HOME/.ddev/binindocker_manager.go.cliPluginsExtraDirsworks here only because we use the Docker Compose SDK. The standalonedocker-composebinary does not recognize it.This allows the code to find
docker-buildxin the expected location and removes the need for a bundleddocker-compose.Manual Testing Instructions
Automated Testing Overview
Release/Deployment Notes