Skip to content

Conversation

@ndeloof
Copy link
Contributor

@ndeloof ndeloof commented Jan 6, 2026

What I did

use standard TARGETARCH for architecture suffix in released binaries
this enforces consistency with other Docker CLI plugins (buildx, buildx, scout, init ...)

note: this is a breaking change which may impact scripts downloading latest release. Anyway, this TODO is here for too long, better introduce a breaking change once and get a consistent user experience across docker repositories

Related issue

(not mandatory) A picture of a cute animal, if possible in relation to what you did

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
@ndeloof ndeloof requested a review from a team as a code owner January 6, 2026 13:40
@ndeloof ndeloof requested a review from glours January 6, 2026 13:40
# TODO: should just use standard arch
TARGETARCH=$([ "$TARGETARCH" = "amd64" ] && echo "x86_64" || echo "$TARGETARCH"); \
TARGETARCH=$([ "$TARGETARCH" = "arm64" ] && echo "aarch64" || echo "$TARGETARCH"); \
cp docker-compose* "/out/docker-compose-${TARGETOS}-${TARGETARCH}${TARGETVARIANT}$(ls docker-compose* | sed -e 's/^docker-compose//')"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will probably need an update to the official docker image as well; it looks like it currently downloads binaries from GitHub; https://github.com/docker-library/docker/blob/d9bae6519a1b0a9c73fab9a859e0c5c5131b0176/29/cli/Dockerfile#L110-L140

Wondering if we should (to help transitioning) keep both variants for some time.

cc @tianon @yosifkit

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we could, but this won't help us detect the places to require an update, as consumer won't notice the breaking change

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, it's better to just rip the bandaid off than double the storage in the hopes that somebody proactively notices, but I do appreciate the thought. 🫶

(If releases could have symlinks in their artifacts, perhaps I would feel differently, but they can't - eventually the bandaid has to come off and it might as well be sooner instead of later.)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that's reasonable; perhaps we should create a ticket and pin it on this repository for users that arrive here after they get a "not found" error.

(We still have a similar discussion to have for the static downloads from https://download.docker.com/mac/static/stable/, although I guess for those we could have a symlink / redirect)

I mostly was considering that this change may go out in a minor or patch release; if it's a patch release, then users may pay less attention to release notes. I guess it would've been great to make the change with the v5 major version update, but hindsight is a B.

We should also check if there's references to these in our docs; looks like there's at least one in this section; https://docs.docker.com/compose/install/linux/#install-the-plugin-manually

Copy link
Member

@thaJeztah thaJeztah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change itself LGTM though!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants