From cd5a3616b5c6ace31836f453d8c80ecc00c45973 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eug=C3=A9n=20Cowie?= Date: Wed, 21 Aug 2024 22:45:38 +0100 Subject: [PATCH 1/2] Install as a Docker CLI plugin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Eugén Cowie --- pkg/docker-compose/build.go | 5 +++-- pkg/docker-compose/build_test.go | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pkg/docker-compose/build.go b/pkg/docker-compose/build.go index c0aa0d5..2992ab7 100644 --- a/pkg/docker-compose/build.go +++ b/pkg/docker-compose/build.go @@ -44,8 +44,9 @@ func (m *Mixin) Build(ctx context.Context) error { } dockerfileLines := fmt.Sprintf(`RUN apt-get update && apt-get install -y curl && \ -curl -fL "https://github.com/docker/compose/releases/download/v%s/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose && \ -chmod +x /usr/local/bin/docker-compose`, dockerComposeVersion) + curl -fL "https://github.com/docker/compose/releases/download/v%s/docker-compose-linux-x86_64" -o /usr/local/lib/docker/cli-plugins/docker-compose --create-dirs && \ + chmod +x /usr/local/lib/docker/cli-plugins/docker-compose && \ + ln -s /usr/local/lib/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose`, dockerComposeVersion) fmt.Fprintln(m.Out, dockerfileLines) diff --git a/pkg/docker-compose/build_test.go b/pkg/docker-compose/build_test.go index 02fea42..8d067ce 100644 --- a/pkg/docker-compose/build_test.go +++ b/pkg/docker-compose/build_test.go @@ -12,8 +12,9 @@ import ( func TestMixin_Build(t *testing.T) { const buildOutput = `RUN apt-get update && apt-get install -y curl && \ -curl -fL "https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose && \ -chmod +x /usr/local/bin/docker-compose + curl -fL "https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-linux-x86_64" -o /usr/local/lib/docker/cli-plugins/docker-compose --create-dirs && \ + chmod +x /usr/local/lib/docker/cli-plugins/docker-compose && \ + ln -s /usr/local/lib/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose ` t.Run("build", func(t *testing.T) { From 38eb6c94131a6d94924f698056834908d35ff626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eug=C3=A9n=20Cowie?= Date: Fri, 27 Sep 2024 09:27:21 +0100 Subject: [PATCH 2/2] Use PATH instead of symlink MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Eugén Cowie --- pkg/docker-compose/build.go | 2 +- pkg/docker-compose/build_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/docker-compose/build.go b/pkg/docker-compose/build.go index 5bd4a1b..d23db02 100644 --- a/pkg/docker-compose/build.go +++ b/pkg/docker-compose/build.go @@ -44,7 +44,7 @@ func (m *Mixin) Build(ctx context.Context) error { } dockerfileLines := fmt.Sprintf(`ADD --chmod=755 https://github.com/docker/compose/releases/download/v%s/docker-compose-linux-x86_64 /usr/local/lib/docker/cli-plugins/docker-compose -RUN ln -s /usr/local/lib/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose`, dockerComposeVersion) +ENV PATH="$PATH:/usr/local/lib/docker/cli-plugins"`, dockerComposeVersion) fmt.Fprintln(m.Out, dockerfileLines) diff --git a/pkg/docker-compose/build_test.go b/pkg/docker-compose/build_test.go index 8819334..70826ac 100644 --- a/pkg/docker-compose/build_test.go +++ b/pkg/docker-compose/build_test.go @@ -12,7 +12,7 @@ import ( func TestMixin_Build(t *testing.T) { const buildOutput = `ADD --chmod=755 https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-linux-x86_64 /usr/local/lib/docker/cli-plugins/docker-compose -RUN ln -s /usr/local/lib/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose +ENV PATH="$PATH:/usr/local/lib/docker/cli-plugins" ` t.Run("build", func(t *testing.T) {