diff --git a/Dockerfile b/Dockerfile index 4100e26b8b..9eb20728c5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -63,7 +63,6 @@ ARG PACKAGER_NAME COPY --link --from=goversioninfo /out/goversioninfo /usr/bin/goversioninfo RUN --mount=type=bind,target=.,ro \ --mount=type=cache,target=/root/.cache \ - --mount=from=dockercore/golang-cross:xx-sdk-extras,target=/xx-sdk,src=/xx-sdk \ --mount=type=tmpfs,target=cli/winresources \ # override the default behavior of go with xx-go xx-go --wrap && \ @@ -89,7 +88,6 @@ ARG GO_STRIP ARG CGO_ENABLED ARG VERSION RUN --mount=ro --mount=type=cache,target=/root/.cache \ - --mount=from=dockercore/golang-cross:xx-sdk-extras,target=/xx-sdk,src=/xx-sdk \ xx-go --wrap && \ TARGET=/out ./scripts/build/plugins e2e/cli-plugins/plugins/* diff --git a/docker-bake.hcl b/docker-bake.hcl index 7da05d7436..2a4344ae6a 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -180,6 +180,8 @@ target "bin-image-cross" { inherits = ["bin-image"] output = ["type=image"] platforms = [ + "darwin/amd64", + "darwin/arm64", "linux/amd64", "linux/arm/v6", "linux/arm/v7", diff --git a/scripts/build/.variables b/scripts/build/.variables index de7945d0a7..7cfec2409f 100755 --- a/scripts/build/.variables +++ b/scripts/build/.variables @@ -44,6 +44,16 @@ if [ "${GOOS}" = "windows" ]; then fi export TARGET +# No CGO when cross building to darwin +if [ "$(go env GOOS)" = "darwin" ] && [ "$(uname)" != "Darwin" ]; then + if [ -z "$CGO_ENABLED" ]; then + CGO_ENABLED=0 + elif [ "$CGO_ENABLED" = "1" ]; then + echo "CGO_ENABLED=1 not supported when cross-compiling for Darwin" + exit 1 + fi +fi + if [ -z "$CGO_ENABLED" ]; then case "$(go env GOOS)" in linux)