@@ -19,7 +19,7 @@ version: "3"
1919
2020vars :
2121 CONTAINER : " docker.elastic.co/beats-dev/golang-crossbuild"
22- GO_VERSION : " 1.18.5 "
22+ GO_VERSION : " 1.21.6 "
2323 CHECKSUM_FILE : " {{.VERSION}}-checksums.txt"
2424
2525tasks :
@@ -34,21 +34,20 @@ tasks:
3434 - task : Linux_ARMv7
3535 - task : Linux_ARM64
3636 - task : macOS_64bit
37+ - task : macOS_ARM64
3738
3839 Windows_32bit :
3940 desc : Builds Windows 32 bit binaries
4041 dir : " {{.DIST_DIR}}"
4142 cmds :
4243 - |
43- mkdir {{.PLATFORM_DIR}}
44- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
4544 docker run -v `pwd`/..:/home/build -w /home/build \
46- -e CGO_ENABLED=1 \
45+ -e CGO_ENABLED=0 \
4746 {{.CONTAINER}}:{{.CONTAINER_TAG}} \
4847 --build-cmd "{{.BUILD_COMMAND}}" \
4948 -p "{{.BUILD_PLATFORM}}"
5049
51- zip {{.PACKAGE_NAME}} {{.PLATFORM_DIR}}/{{.PROJECT_NAME}}.exe {{.PLATFORM_DIR}} /LICENSE.txt
50+ zip {{.PACKAGE_NAME}} {{.PLATFORM_DIR}}/{{.PROJECT_NAME}}.exe .. /LICENSE.txt -j
5251 sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
5352
5453 vars :
@@ -64,15 +63,13 @@ tasks:
6463 dir : " {{.DIST_DIR}}"
6564 cmds :
6665 - |
67- mkdir {{.PLATFORM_DIR}}
68- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
6966 docker run -v `pwd`/..:/home/build -w /home/build \
70- -e CGO_ENABLED=1 \
67+ -e CGO_ENABLED=0 \
7168 {{.CONTAINER}}:{{.CONTAINER_TAG}} \
7269 --build-cmd "{{.BUILD_COMMAND}}" \
7370 -p "{{.BUILD_PLATFORM}}"
7471
75- zip {{.PACKAGE_NAME}} {{.PLATFORM_DIR}}/{{.PROJECT_NAME}}.exe {{.PLATFORM_DIR}} /LICENSE.txt
72+ zip {{.PACKAGE_NAME}} {{.PLATFORM_DIR}}/{{.PROJECT_NAME}}.exe .. /LICENSE.txt -j
7673 sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
7774
7875 vars :
@@ -88,15 +85,13 @@ tasks:
8885 dir : " {{.DIST_DIR}}"
8986 cmds :
9087 - |
91- mkdir {{.PLATFORM_DIR}}
92- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
9388 docker run -v `pwd`/..:/home/build -w /home/build \
94- -e CGO_ENABLED=1 \
89+ -e CGO_ENABLED=0 \
9590 {{.CONTAINER}}:{{.CONTAINER_TAG}} \
9691 --build-cmd "{{.BUILD_COMMAND}}" \
9792 -p "{{.BUILD_PLATFORM}}"
9893
99- tar cz {{.PLATFORM_DIR}} -f {{.PACKAGE_NAME}}
94+ tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}}
10095 sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
10196
10297 vars :
@@ -112,15 +107,13 @@ tasks:
112107 dir : " {{.DIST_DIR}}"
113108 cmds :
114109 - |
115- mkdir {{.PLATFORM_DIR}}
116- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
117110 docker run -v `pwd`/..:/home/build -w /home/build \
118- -e CGO_ENABLED=1 \
111+ -e CGO_ENABLED=0 \
119112 {{.CONTAINER}}:{{.CONTAINER_TAG}} \
120113 --build-cmd "{{.BUILD_COMMAND}}" \
121114 -p "{{.BUILD_PLATFORM}}"
122115
123- tar cz {{.PLATFORM_DIR}} -f {{.PACKAGE_NAME}}
116+ tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}}
124117 sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
125118
126119 vars :
@@ -136,15 +129,13 @@ tasks:
136129 dir : " {{.DIST_DIR}}"
137130 cmds :
138131 - |
139- mkdir {{.PLATFORM_DIR}}
140- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
141132 docker run -v `pwd`/..:/home/build -w /home/build \
142- -e CGO_ENABLED=1 \
133+ -e CGO_ENABLED=0 \
143134 {{.CONTAINER}}:{{.CONTAINER_TAG}} \
144135 --build-cmd "{{.BUILD_COMMAND}}" \
145136 -p "{{.BUILD_PLATFORM}}"
146137
147- tar cz {{.PLATFORM_DIR}} -f {{.PACKAGE_NAME}}
138+ tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}}
148139 sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
149140
150141 vars :
@@ -160,15 +151,13 @@ tasks:
160151 dir : " {{.DIST_DIR}}"
161152 cmds :
162153 - |
163- mkdir {{.PLATFORM_DIR}}
164- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
165154 docker run -v `pwd`/..:/home/build -w /home/build \
166- -e CGO_ENABLED=1 \
155+ -e CGO_ENABLED=0 \
167156 {{.CONTAINER}}:{{.CONTAINER_TAG}} \
168157 --build-cmd "{{.BUILD_COMMAND}}" \
169158 -p "{{.BUILD_PLATFORM}}"
170159
171- tar cz {{.PLATFORM_DIR}} -f {{.PACKAGE_NAME}}
160+ tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}}
172161 sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
173162
174163 vars :
@@ -203,7 +192,11 @@ tasks:
203192 #
204193 # Until there is a fix released we must use a recent gcc for Linux_ARMv6 build, so for this
205194 # build we select the debian10 based container.
206- CONTAINER_TAG : " {{.GO_VERSION}}-armel-debian10"
195+ #
196+ # BTW:
197+ # - debian10 is not available
198+ # - since we do not use CGO this time, we revert to the old debian9 based container.
199+ CONTAINER_TAG : " {{.GO_VERSION}}-armel-debian9"
207200 PACKAGE_PLATFORM : " Linux_ARMv6"
208201 PACKAGE_NAME : " {{.PROJECT_NAME}}_{{.VERSION}}_{{.PACKAGE_PLATFORM}}.tar.gz"
209202
@@ -212,15 +205,13 @@ tasks:
212205 dir : " {{.DIST_DIR}}"
213206 cmds :
214207 - |
215- mkdir {{.PLATFORM_DIR}}
216- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
217208 docker run -v `pwd`/..:/home/build -w /home/build \
218- -e CGO_ENABLED=1 \
209+ -e CGO_ENABLED=0 \
219210 {{.CONTAINER}}:{{.CONTAINER_TAG}} \
220211 --build-cmd "{{.BUILD_COMMAND}}" \
221212 -p "{{.BUILD_PLATFORM}}"
222213
223- tar cz {{.PLATFORM_DIR}} -f {{.PACKAGE_NAME}}
214+ tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}}
224215 sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
225216
226217 vars :
@@ -235,16 +226,15 @@ tasks:
235226 desc : Builds Mac OS X 64 bit binaries
236227 dir : " {{.DIST_DIR}}"
237228 cmds :
229+ # "git config safe.directory" is required until this is fixed https://github.com/elastic/golang-crossbuild/issues/232
238230 - |
239- mkdir {{.PLATFORM_DIR}}
240- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
241231 docker run -v `pwd`/..:/home/build -w /home/build \
242- -e CGO_ENABLED=1 \
232+ -e CGO_ENABLED=0 \
243233 {{.CONTAINER}}:{{.CONTAINER_TAG}} \
244- --build-cmd "{{.BUILD_COMMAND}}" \
234+ --build-cmd "git config --global --add safe.directory /home/build && {{.BUILD_COMMAND}}" \
245235 -p "{{.BUILD_PLATFORM}}"
246236
247- tar cz {{.PLATFORM_DIR}} -f {{.PACKAGE_NAME}}
237+ tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}}
248238 sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
249239
250240 vars :
@@ -267,3 +257,26 @@ tasks:
267257 CONTAINER_TAG : " {{.GO_VERSION}}-darwin-debian10"
268258 PACKAGE_PLATFORM : " macOS_64bit"
269259 PACKAGE_NAME : " {{.PROJECT_NAME}}_{{.VERSION}}_{{.PACKAGE_PLATFORM}}.tar.gz"
260+
261+ macOS_ARM64 :
262+ desc : Builds Mac OS X ARM64 binaries
263+ dir : " {{.DIST_DIR}}"
264+ cmds :
265+ # "git config safe.directory" is required until this is fixed https://github.com/elastic/golang-crossbuild/issues/232
266+ - |
267+ docker run -v `pwd`/..:/home/build -w /home/build \
268+ -e CGO_ENABLED=0 \
269+ {{.CONTAINER}}:{{.CONTAINER_TAG}} \
270+ --build-cmd "git config --global --add safe.directory /home/build && {{.BUILD_COMMAND}}" \
271+ -p "{{.BUILD_PLATFORM}}"
272+
273+ tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}}
274+ sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
275+
276+ vars :
277+ PLATFORM_DIR : " {{.PROJECT_NAME}}_osx_darwin_arm64"
278+ BUILD_COMMAND : " go build -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}"
279+ BUILD_PLATFORM : " darwin/arm64"
280+ CONTAINER_TAG : " {{.GO_VERSION}}-darwin-arm64-debian10"
281+ PACKAGE_PLATFORM : " macOS_ARM64"
282+ PACKAGE_NAME : " {{.PROJECT_NAME}}_{{.VERSION}}_{{.PACKAGE_PLATFORM}}.tar.gz"
0 commit comments