@@ -125,6 +125,19 @@ build_buildx() {
125125 )
126126}
127127
128+ build_compose () {
129+ (
130+ cd " ${COMPOSE_DIR} "
131+ set -x
132+ docker buildx build \
133+ --platform " ${TARGETPLATFORM} " \
134+ --build-arg BUILDKIT_MULTI_PLATFORM=true \
135+ --build-arg GO_VERSION \
136+ --output ./bin \
137+ --target binary .
138+ )
139+ }
140+
128141echo " TARGETPLATFORM=${TARGETPLATFORM} "
129142echo " CONTAINERD_VERSION=${CONTAINERD_VERSION} "
130143echo " RUNC_VERSION=${RUNC_VERSION} "
@@ -142,26 +155,31 @@ dockerBuildDir="${buildDir}/docker"
142155containerdBuildDir=" ${buildDir} /containerd"
143156rootlessExtrasBuildDir=" ${buildDir} /docker-rootless-extras"
144157buildxBuildDir=" ${buildDir} /docker-buildx"
158+ composeBuildDir=" ${buildDir} /docker-compose"
145159
146160# clean up previous build output dirs
147161[ -d " ${CLI_DIR:? } /build" ] && rm -r " ${CLI_DIR:? } /build"
148162[ -d " ${ENGINE_DIR:? } /build" ] && rm -r " ${ENGINE_DIR:? } /build"
149163[ -d " ${BUILDX_DIR:? } /bin" ] && rm -r " ${BUILDX_DIR:? } /bin"
164+ [ -d " ${COMPOSE_DIR:? } /bin" ] && rm -r " ${COMPOSE_DIR:? } /bin"
150165
151166case ${TARGETOS} in
152167 linux)
153168 build_cli
154169 build_engine
155170 build_buildx
171+ build_compose
156172 ;;
157173 darwin)
158174 build_cli
159175 build_buildx
176+ build_compose
160177 ;;
161178 windows)
162179 build_cli
163180 build_engine
164181 build_buildx
182+ build_compose
165183 ;;
166184esac
167185
@@ -322,6 +340,35 @@ if [ -d "${BUILDX_DIR}/bin" ]; then
322340 esac
323341fi
324342
343+ # compose
344+ if [ -d " ${COMPOSE_DIR} /bin" ]; then
345+ mkdir -p " ${composeBuildDir} "
346+ case ${TARGETOS} in
347+ linux | darwin)
348+ cp " ${COMPOSE_DIR} /bin/${targetPair} /docker-compose" " ${composeBuildDir} /docker-compose"
349+ ;;
350+ windows)
351+ cp " ${COMPOSE_DIR} /bin/${targetPair} /docker-compose.exe" " ${composeBuildDir} /docker-compose.exe"
352+ ;;
353+ esac
354+ # package compose
355+ case ${TARGETOS} in
356+ linux | darwin)
357+ (
358+ set -x
359+ tar -C " ${buildDir} " -c -z -f " ${buildDir} /docker-compose-plugin-${DOCKER_COMPOSE_REF# v} .tgz" docker-compose
360+ )
361+ ;;
362+ windows)
363+ (
364+ cd " ${buildDir} "
365+ set -x
366+ zip -r " docker-compose-plugin-${DOCKER_COMPOSE_REF# v} .zip" docker-compose
367+ )
368+ ;;
369+ esac
370+ fi
371+
325372# create bundle
326373(
327374 # bundle is expected to have a tar.gz extension, unlike the other archives, which use .tgz
0 commit comments