From 25184964f5fb5abc7a22dad6fa96b342bf788036 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Wed, 5 Mar 2025 16:34:37 +0100 Subject: [PATCH 01/14] ci: decompose arm debian 11 from the qemu approach --- .buildkite/pipeline.yml | 18 ++++++++++++------ go/Makefile.debian11 | 2 +- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 393b1028..480644c9 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -42,11 +42,11 @@ steps: - "false" - "true" - - label: ":linux: Staging / Ubuntu ARM - Makefile.debian9 - fips: {{matrix.fips}}" + - label: ":linux: Staging / Ubuntu ARM - {{matrix.makefile}} - fips: {{matrix.fips}}" key: "build-ubuntu-arm" command: - - ".buildkite/scripts/build.sh Makefile.debian9" - - ".buildkite/scripts/publish.sh Makefile.debian9" + - ".buildkite/scripts/build.sh {{matrix.makefile}}" + - ".buildkite/scripts/publish.sh {{matrix.makefile}}" env: REPOSITORY: "${STAGING_IMAGE}" FIPS: "{{matrix.fips}}" @@ -60,6 +60,9 @@ steps: instanceType: "t4g.large" matrix: setup: + makefile: + - "Makefile.debian9" + - "Makefile.debian11" fips: - "false" - "true" @@ -95,11 +98,11 @@ steps: - github_commit_status: context: "Release / Ubuntu X86_64" - - label: ":linux: Release / Ubuntu ARM - Makefile.debian9 - fips: {{matrix.fips}}" + - label: ":linux: Release / Ubuntu ARM - {{matrix.makefile}} - fips: {{matrix.fips}}" key: "release-ubuntu-arm" command: - - ".buildkite/scripts/build.sh Makefile.debian9" - - ".buildkite/scripts/publish.sh Makefile.debian9" + - ".buildkite/scripts/build.sh {{matrix.makefile}}" + - ".buildkite/scripts/publish.sh {{matrix.makefile}}" env: FIPS: "{{matrix.fips}}" if: build.branch == "main" || build.branch =~ /^[0-9]+\.[0-9]+$$/ @@ -109,6 +112,9 @@ steps: instanceType: "t4g.large" matrix: setup: + makefile: + - "Makefile.debian9" + - "Makefile.debian11" fips: - "false" - "true" diff --git a/go/Makefile.debian11 b/go/Makefile.debian11 index 24da642c..36a1df5b 100644 --- a/go/Makefile.debian11 +++ b/go/Makefile.debian11 @@ -1,4 +1,4 @@ -IMAGES := base main darwin arm armhf darwin-arm64 npcap +IMAGES := base main darwin armhf darwin-arm64 npcap DEBIAN_VERSION := 11 TAG_EXTENSION := -debian11 From ace88d8012021025743c3095d13247923748af54 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Wed, 5 Mar 2025 16:46:21 +0100 Subject: [PATCH 02/14] enable make goals for arm in debian 11 --- go/Makefile.debian11 | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/go/Makefile.debian11 b/go/Makefile.debian11 index 36a1df5b..2f320ffc 100644 --- a/go/Makefile.debian11 +++ b/go/Makefile.debian11 @@ -1,4 +1,5 @@ IMAGES := base main darwin armhf darwin-arm64 npcap +ARM_IMAGES := base-arm DEBIAN_VERSION := 11 TAG_EXTENSION := -debian11 @@ -7,8 +8,14 @@ export DEBIAN_VERSION TAG_EXTENSION build: @$(foreach var,$(IMAGES),$(MAKE) -C $(var) build || exit 1;) +build-arm: + @$(foreach var,$(ARM_IMAGES),$(MAKE) -C $(var) build-arm || exit 1;) + # Requires login at https://docker.elastic.co:7000/. push: @$(foreach var,$(IMAGES),$(MAKE) -C $(var) push || exit 1;) -.PHONY: build push +push-arm: + @$(foreach var,$(ARM_IMAGES),$(MAKE) -C $(var) push-arm || exit 1;) + +.PHONY: build build-arm push push-arm From 363d650100592c559b28748a79e941b775bcf72a Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Wed, 5 Mar 2025 16:56:08 +0100 Subject: [PATCH 03/14] add debian11 sources for arm --- go/base-arm/sources-debian11.list | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 go/base-arm/sources-debian11.list diff --git a/go/base-arm/sources-debian11.list b/go/base-arm/sources-debian11.list new file mode 100644 index 00000000..e4ae51e6 --- /dev/null +++ b/go/base-arm/sources-debian11.list @@ -0,0 +1,2 @@ +deb http://archive.debian.org/debian bullseye main +deb [arch=arm64] http://archive.debian.org/debian-security bullseye/updates main From 3a95eee1525313b6a262ae3fec4cce5d65cf4af1 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 6 Mar 2025 16:51:31 +0100 Subject: [PATCH 04/14] use the correct url, debian11 is not archived --- go/base-arm/sources-debian11.list | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/base-arm/sources-debian11.list b/go/base-arm/sources-debian11.list index e4ae51e6..ea46e6aa 100644 --- a/go/base-arm/sources-debian11.list +++ b/go/base-arm/sources-debian11.list @@ -1,2 +1,2 @@ -deb http://archive.debian.org/debian bullseye main -deb [arch=arm64] http://archive.debian.org/debian-security bullseye/updates main +deb http://deb.debian.org/debian bullseye main +deb [arch=arm64] http://deb.debian.org/debian-security bullseye/updates main From f1da27dccd42131deeafc5af2325c70ac561640a Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 6 Mar 2025 17:06:39 +0100 Subject: [PATCH 05/14] use the correct apt sources --- go/base-arm/sources-debian11.list | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/base-arm/sources-debian11.list b/go/base-arm/sources-debian11.list index ea46e6aa..0af0699a 100644 --- a/go/base-arm/sources-debian11.list +++ b/go/base-arm/sources-debian11.list @@ -1,2 +1,2 @@ deb http://deb.debian.org/debian bullseye main -deb [arch=arm64] http://deb.debian.org/debian-security bullseye/updates main +deb [arch=arm64] https://security.debian.org/debian-security bullseye-security main From 29de69ef2c23a94f9fc346686e172cc2e52fa7fc Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 6 Mar 2025 17:17:04 +0100 Subject: [PATCH 06/14] trying to fix Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verification see https://askubuntu.com/a/1095269 --- go/base-arm/sources-debian11.list | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/base-arm/sources-debian11.list b/go/base-arm/sources-debian11.list index 0af0699a..d8ffc26c 100644 --- a/go/base-arm/sources-debian11.list +++ b/go/base-arm/sources-debian11.list @@ -1,2 +1,2 @@ -deb http://deb.debian.org/debian bullseye main -deb [arch=arm64] https://security.debian.org/debian-security bullseye-security main +deb [trusted=yes] http://deb.debian.org/debian bullseye main +deb [trusted=yes] [arch=arm64] https://security.debian.org/debian-security bullseye-security main From 06eb687d8c3db782b1723f141c13f15d779f756b Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 6 Mar 2025 17:21:32 +0100 Subject: [PATCH 07/14] test: in isolation --- .buildkite/pipeline.yml | 10 ---------- go/base-arm/sources-debian11.list | 2 +- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 480644c9..f17c532a 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -33,11 +33,7 @@ steps: matrix: setup: makefile: - - "Makefile" - - "Makefile.debian9" - - "Makefile.debian10" - "Makefile.debian11" - - "Makefile.debian12" fips: - "false" - "true" @@ -61,7 +57,6 @@ steps: matrix: setup: makefile: - - "Makefile.debian9" - "Makefile.debian11" fips: - "false" @@ -86,11 +81,7 @@ steps: matrix: setup: makefile: - - "Makefile" - - "Makefile.debian9" - - "Makefile.debian10" - "Makefile.debian11" - - "Makefile.debian12" fips: - "false" - "true" @@ -113,7 +104,6 @@ steps: matrix: setup: makefile: - - "Makefile.debian9" - "Makefile.debian11" fips: - "false" diff --git a/go/base-arm/sources-debian11.list b/go/base-arm/sources-debian11.list index d8ffc26c..5b9dc796 100644 --- a/go/base-arm/sources-debian11.list +++ b/go/base-arm/sources-debian11.list @@ -1,2 +1,2 @@ deb [trusted=yes] http://deb.debian.org/debian bullseye main -deb [trusted=yes] [arch=arm64] https://security.debian.org/debian-security bullseye-security main +deb [trusted=yes] [arch=arm64] http://deb.debian.org/debian-security bullseye-security main From babde500250c2467f4eadbe9f41d7713ad1db215 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 6 Mar 2025 17:22:26 +0100 Subject: [PATCH 08/14] replace --- go/base-arm/sources-debian11.list | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/base-arm/sources-debian11.list b/go/base-arm/sources-debian11.list index 5b9dc796..94f4b70c 100644 --- a/go/base-arm/sources-debian11.list +++ b/go/base-arm/sources-debian11.list @@ -1,2 +1,2 @@ -deb [trusted=yes] http://deb.debian.org/debian bullseye main -deb [trusted=yes] [arch=arm64] http://deb.debian.org/debian-security bullseye-security main +deb http://deb.debian.org/debian bullseye main +deb [arch=arm64] http://deb.debian.org/debian-security bullseye-security main From 40c38bfd37254354263d68966f6faa6dd8de87a0 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 6 Mar 2025 17:30:14 +0100 Subject: [PATCH 09/14] those packages are already specific per platform --- go/base-arm/Dockerfile.tmpl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/go/base-arm/Dockerfile.tmpl b/go/base-arm/Dockerfile.tmpl index 81b7b2d5..fe22ab93 100644 --- a/go/base-arm/Dockerfile.tmpl +++ b/go/base-arm/Dockerfile.tmpl @@ -25,13 +25,15 @@ RUN \ libxml2-dev \ libxml2 \ libicu-dev \ - libicu57 \ icu-devtools \ libsystemd-dev \ + {{- if (eq .DEBIAN_VERSION "11") }} + libicu57 \ librpm3 \ librpmio3 \ librpmbuild3 \ librpmsign3 \ + {{- end }} libsqlite3-dev \ libnss3 \ libsqlite3-0 \ From 73dedc2df7758316f91620dd8c132e4fc4f200e5 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 6 Mar 2025 18:29:42 +0100 Subject: [PATCH 10/14] reverse --- go/base-arm/Dockerfile.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/base-arm/Dockerfile.tmpl b/go/base-arm/Dockerfile.tmpl index fe22ab93..1e66f0c5 100644 --- a/go/base-arm/Dockerfile.tmpl +++ b/go/base-arm/Dockerfile.tmpl @@ -27,7 +27,7 @@ RUN \ libicu-dev \ icu-devtools \ libsystemd-dev \ - {{- if (eq .DEBIAN_VERSION "11") }} + {{- if (ne .DEBIAN_VERSION "11") }} libicu57 \ librpm3 \ librpmio3 \ From 181d5fee579efabe4d58584afbc801bdec491492 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 6 Mar 2025 18:37:19 +0100 Subject: [PATCH 11/14] Revert "test: in isolation" This reverts commit 06eb687d8c3db782b1723f141c13f15d779f756b. --- .buildkite/pipeline.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index f17c532a..480644c9 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -33,7 +33,11 @@ steps: matrix: setup: makefile: + - "Makefile" + - "Makefile.debian9" + - "Makefile.debian10" - "Makefile.debian11" + - "Makefile.debian12" fips: - "false" - "true" @@ -57,6 +61,7 @@ steps: matrix: setup: makefile: + - "Makefile.debian9" - "Makefile.debian11" fips: - "false" @@ -81,7 +86,11 @@ steps: matrix: setup: makefile: + - "Makefile" + - "Makefile.debian9" + - "Makefile.debian10" - "Makefile.debian11" + - "Makefile.debian12" fips: - "false" - "true" @@ -104,6 +113,7 @@ steps: matrix: setup: makefile: + - "Makefile.debian9" - "Makefile.debian11" fips: - "false" From 8ccbefae8f0251c950bb8b2fc760d8843d7eb5c7 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 13 Mar 2025 13:34:35 +0100 Subject: [PATCH 12/14] also for darwin/arm64 --- go/Makefile.debian11 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/Makefile.debian11 b/go/Makefile.debian11 index 2f320ffc..f7631965 100644 --- a/go/Makefile.debian11 +++ b/go/Makefile.debian11 @@ -1,5 +1,5 @@ -IMAGES := base main darwin armhf darwin-arm64 npcap -ARM_IMAGES := base-arm +IMAGES := base main darwin armhf npcap +ARM_IMAGES := base-arm darwin-arm64 DEBIAN_VERSION := 11 TAG_EXTENSION := -debian11 From 4b7a3559de61dd2e4980a55042c3d0b7f1a5a81e Mon Sep 17 00:00:00 2001 From: Panos Koutsovasilis Date: Thu, 20 Mar 2025 11:11:24 +0200 Subject: [PATCH 13/14] feat: proper username binaries arch for darwin and darwin-arm target on debian 10, 11 and 12 --- .buildkite/pipeline.yml | 4 ++++ go/Makefile.debian10 | 11 +++++++++-- go/Makefile.debian12 | 11 +++++++++-- go/base-arm/Dockerfile.tmpl | 22 ++++++++++++++++++++-- go/base-arm/sources-debian10.list | 3 +++ go/base-arm/sources-debian11.list | 6 ++++-- go/base-arm/sources-debian12.list | 3 +++ go/base-arm/sources-debian9.list | 2 +- go/base/Dockerfile.tmpl | 2 +- go/darwin-arm64/Dockerfile.tmpl | 12 ++---------- go/darwin-arm64/rootfs/compilers.yaml | 3 --- go/darwin/Dockerfile.tmpl | 10 +--------- 12 files changed, 57 insertions(+), 32 deletions(-) create mode 100644 go/base-arm/sources-debian10.list create mode 100644 go/base-arm/sources-debian12.list diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 480644c9..68af7b33 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -62,7 +62,9 @@ steps: setup: makefile: - "Makefile.debian9" + - "Makefile.debian10" - "Makefile.debian11" + - "Makefile.debian12" fips: - "false" - "true" @@ -114,7 +116,9 @@ steps: setup: makefile: - "Makefile.debian9" + - "Makefile.debian10" - "Makefile.debian11" + - "Makefile.debian12" fips: - "false" - "true" diff --git a/go/Makefile.debian10 b/go/Makefile.debian10 index 0ae5d8f4..82ae73b7 100644 --- a/go/Makefile.debian10 +++ b/go/Makefile.debian10 @@ -1,4 +1,5 @@ -IMAGES ?= base main darwin arm armhf darwin-arm64 npcap +IMAGES := base main darwin armhf npcap +ARM_IMAGES := base-arm darwin-arm64 DEBIAN_VERSION := 10 TAG_EXTENSION := -debian10 @@ -7,8 +8,14 @@ export DEBIAN_VERSION TAG_EXTENSION build: @$(foreach var,$(IMAGES),$(MAKE) -C $(var) build || exit 1;) +build-arm: + @$(foreach var,$(ARM_IMAGES),$(MAKE) -C $(var) build-arm || exit 1;) + # Requires login at https://docker.elastic.co:7000/. push: @$(foreach var,$(IMAGES),$(MAKE) -C $(var) push || exit 1;) -.PHONY: build push +push-arm: + @$(foreach var,$(ARM_IMAGES),$(MAKE) -C $(var) push-arm || exit 1;) + +.PHONY: build build-arm push push-arm diff --git a/go/Makefile.debian12 b/go/Makefile.debian12 index 04ecdcdf..70e47008 100644 --- a/go/Makefile.debian12 +++ b/go/Makefile.debian12 @@ -1,4 +1,5 @@ -IMAGES := base main darwin arm armhf armel mips s390x darwin-arm64 npcap +IMAGES := base main darwin armhf armel mips s390x npcap +ARM_IMAGES := base-arm darwin-arm64 DEBIAN_VERSION := 12 TAG_EXTENSION := -debian12 @@ -7,8 +8,14 @@ export DEBIAN_VERSION TAG_EXTENSION build: @$(foreach var,$(IMAGES),$(MAKE) -C $(var) build || exit 1;) +build-arm: + @$(foreach var,$(ARM_IMAGES),$(MAKE) -C $(var) build-arm || exit 1;) + # Requires login at https://docker.elastic.co:7000/. push: @$(foreach var,$(IMAGES),$(MAKE) -C $(var) push || exit 1;) -.PHONY: build push +push-arm: + @$(foreach var,$(ARM_IMAGES),$(MAKE) -C $(var) push-arm || exit 1;) + +.PHONY: build build-arm push push-arm diff --git a/go/base-arm/Dockerfile.tmpl b/go/base-arm/Dockerfile.tmpl index 1e66f0c5..994d4880 100644 --- a/go/base-arm/Dockerfile.tmpl +++ b/go/base-arm/Dockerfile.tmpl @@ -27,12 +27,30 @@ RUN \ libicu-dev \ icu-devtools \ libsystemd-dev \ - {{- if (ne .DEBIAN_VERSION "11") }} + {{- if eq .DEBIAN_VERSION "9" }} libicu57 \ librpm3 \ librpmio3 \ librpmbuild3 \ librpmsign3 \ + {{- else if eq .DEBIAN_VERSION "10" }} + libicu63 \ + librpm8 \ + librpmio8 \ + librpmbuild8 \ + librpmsign8 \ + {{- else if eq .DEBIAN_VERSION "11" }} + libicu67 \ + librpm9 \ + librpmio9 \ + librpmbuild9 \ + librpmsign9 \ + {{- else }} + libicu72 \ + librpm9 \ + librpmio9 \ + librpmbuild9 \ + librpmsign9 \ {{- end }} libsqlite3-dev \ libnss3 \ @@ -79,7 +97,7 @@ RUN go mod init github.com/elastic/golang-crossbuild-$GOLANG_VERSION-arm \ && CGO_ENABLED=0 GOARCH=arm64 go build -o /crossbuild /entrypoint.go \ && rm -rf /go/* /root/.cache/* /entrypoint.go -COPY sdks/libpcap-1.8.1.tar.gz . +COPY sdks/libpcap-1.8.1.tar.gz . RUN mkdir /libpcap \ && tar -xzf libpcap-1.8.1.tar.gz -C /libpcap \ && cd /libpcap/libpcap-1.8.1 \ diff --git a/go/base-arm/sources-debian10.list b/go/base-arm/sources-debian10.list new file mode 100644 index 00000000..6b7ca118 --- /dev/null +++ b/go/base-arm/sources-debian10.list @@ -0,0 +1,3 @@ +# see https://wiki.debian.org/CrossToolchains +deb [arch=arm64] http://deb.debian.org/debian buster main +deb [arch=arm64] http://security.debian.org/debian-security buster/updates main diff --git a/go/base-arm/sources-debian11.list b/go/base-arm/sources-debian11.list index 94f4b70c..54e8518c 100644 --- a/go/base-arm/sources-debian11.list +++ b/go/base-arm/sources-debian11.list @@ -1,2 +1,4 @@ -deb http://deb.debian.org/debian bullseye main -deb [arch=arm64] http://deb.debian.org/debian-security bullseye-security main +# see https://wiki.debian.org/CrossToolchains +deb [arch=arm64] http://deb.debian.org/debian bullseye main +deb [arch=arm64] http://deb.debian.org/debian bullseye-updates main +deb [arch=arm64] http://deb.debian.org/debian-security/ bullseye-security main diff --git a/go/base-arm/sources-debian12.list b/go/base-arm/sources-debian12.list new file mode 100644 index 00000000..95a0d636 --- /dev/null +++ b/go/base-arm/sources-debian12.list @@ -0,0 +1,3 @@ +# see https://wiki.debian.org/CrossToolchains +deb [arch=arm64] http://deb.debian.org/debian bookworm main +deb [arch=arm64] http://deb.debian.org/debian-security/ bookworm-security main diff --git a/go/base-arm/sources-debian9.list b/go/base-arm/sources-debian9.list index 812b5458..995788f6 100644 --- a/go/base-arm/sources-debian9.list +++ b/go/base-arm/sources-debian9.list @@ -1,2 +1,2 @@ -deb http://archive.debian.org/debian stretch main +deb [arch=arm64] http://archive.debian.org/debian stretch main deb [arch=arm64] http://archive.debian.org/debian-security stretch/updates main diff --git a/go/base/Dockerfile.tmpl b/go/base/Dockerfile.tmpl index c8a63fda..15e57981 100644 --- a/go/base/Dockerfile.tmpl +++ b/go/base/Dockerfile.tmpl @@ -70,7 +70,7 @@ RUN go mod init github.com/elastic/golang-crossbuild-$GOLANG_VERSION \ && CGO_ENABLED=0 GOARCH=amd64 go build -o /crossbuild /entrypoint.go \ && rm -rf /go/* /root/.cache/* /entrypoint.go -COPY sdks/libpcap-1.8.1.tar.gz . +COPY sdks/libpcap-1.8.1.tar.gz . RUN mkdir /libpcap \ && tar -xzf libpcap-1.8.1.tar.gz -C /libpcap \ && rm libpcap-1.8.1.tar.gz diff --git a/go/darwin-arm64/Dockerfile.tmpl b/go/darwin-arm64/Dockerfile.tmpl index b7d359e4..f130b3a4 100644 --- a/go/darwin-arm64/Dockerfile.tmpl +++ b/go/darwin-arm64/Dockerfile.tmpl @@ -2,17 +2,9 @@ ARG REPOSITORY ARG VERSION ARG TAG_EXTENSION='' {{- if or (eq .DEBIAN_VERSION "10") (eq .DEBIAN_VERSION "11") (eq .DEBIAN_VERSION "12")}} -FROM --platform=linux/amd64 docker.elastic.co/beats-dev/golang-crossbuild:llvm-apple-debian{{ .DEBIAN_VERSION }}-amd64 AS build-llvm-apple-amd64 -FROM --platform=linux/arm64 docker.elastic.co/beats-dev/golang-crossbuild:llvm-apple-debian{{ .DEBIAN_VERSION }}-arm64 AS build-llvm-apple-arm64 -# workaround to https://github.com/moby/moby/issues/34482 -ARG TARGETARCH=amd64 -ARG BUILDARCH=amd64 -FROM build-llvm-apple-${TARGETARCH} as build-llvm-apple -ARG TARGETARCH -ARG BUILDARCH -RUN echo "Building ${TARGETARCH} on a ${BUILDARCH}" +FROM --platform=linux/arm64 docker.elastic.co/beats-dev/golang-crossbuild:llvm-apple-debian{{ .DEBIAN_VERSION }}-arm64 AS build-llvm-apple {{- end }} -FROM ${REPOSITORY}/golang-crossbuild:${VERSION}-base${TAG_EXTENSION} +FROM ${REPOSITORY}/golang-crossbuild:${VERSION}-base-arm${TAG_EXTENSION} {{- if and (ne .DEBIAN_VERSION "10") (ne .DEBIAN_VERSION "11") (ne .DEBIAN_VERSION "12")}} RUN echo "This Docker image will work only with Debian >10" && exit 1 diff --git a/go/darwin-arm64/rootfs/compilers.yaml b/go/darwin-arm64/rootfs/compilers.yaml index 297670b4..26f36667 100644 --- a/go/darwin-arm64/rootfs/compilers.yaml +++ b/go/darwin-arm64/rootfs/compilers.yaml @@ -1,9 +1,6 @@ --- darwin: - amd64: - CC: o64-clang - CXX: o64-clang++ arm64: CC: oa64-clang CXX: oa64-clang++ diff --git a/go/darwin/Dockerfile.tmpl b/go/darwin/Dockerfile.tmpl index 143579f5..d4e68674 100644 --- a/go/darwin/Dockerfile.tmpl +++ b/go/darwin/Dockerfile.tmpl @@ -3,15 +3,7 @@ ARG VERSION ARG TAG_EXTENSION='' {{- if or (eq .DEBIAN_VERSION "10") (eq .DEBIAN_VERSION "11") (eq .DEBIAN_VERSION "12")}} -FROM --platform=linux/amd64 docker.elastic.co/beats-dev/golang-crossbuild:llvm-apple-debian{{ .DEBIAN_VERSION }}-amd64 AS build-llvm-apple-amd64 -FROM --platform=linux/arm64 docker.elastic.co/beats-dev/golang-crossbuild:llvm-apple-debian{{ .DEBIAN_VERSION }}-arm64 AS build-llvm-apple-arm64 -# workaround to https://github.com/moby/moby/issues/34482 -ARG TARGETARCH=amd64 -ARG BUILDARCH=amd64 -FROM build-llvm-apple-${TARGETARCH} as build-llvm-apple -ARG TARGETARCH -ARG BUILDARCH -RUN echo "Building ${TARGETARCH} on a ${BUILDARCH}" +FROM --platform=linux/amd64 docker.elastic.co/beats-dev/golang-crossbuild:llvm-apple-debian{{ .DEBIAN_VERSION }}-amd64 AS build-llvm-apple {{- end }} FROM ${REPOSITORY}/golang-crossbuild:${VERSION}-base${TAG_EXTENSION} From 04badb280afb72fb8d0f3454417ee28eb4fc2bbb Mon Sep 17 00:00:00 2001 From: Panos Koutsovasilis Date: Thu, 20 Mar 2025 11:38:52 +0200 Subject: [PATCH 14/14] feat: remove multiarch for debian 10, 11, 12 --- Makefile.common | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Makefile.common b/Makefile.common index 5e0dd98b..de2b9e6d 100644 --- a/Makefile.common +++ b/Makefile.common @@ -9,13 +9,6 @@ SUFFIX_NPCAP_VERSION := -npcap-$(NPCAP_VERSION) NPCAP_REPOSITORY := docker.elastic.co/observability-ci GS_BUCKET_PATH ?= ingest-buildkite-ci - -ifeq ($(BUILDX),1) -ifeq ($(shell test $(DEBIAN_VERSION) -ge 10; echo $$?),0) -DOCKER_MULTIARCH := 1 -endif -endif - # Requires login at google storage. copy-npcap: ifeq ($(CI),true)