@@ -19,7 +19,7 @@ version: "3"
19
19
20
20
vars :
21
21
CONTAINER : " docker.elastic.co/beats-dev/golang-crossbuild"
22
- GO_VERSION : " 1.18.5 "
22
+ GO_VERSION : " 1.21.6 "
23
23
CHECKSUM_FILE : " {{.VERSION}}-checksums.txt"
24
24
25
25
tasks :
@@ -34,21 +34,20 @@ tasks:
34
34
- task : Linux_ARMv7
35
35
- task : Linux_ARM64
36
36
- task : macOS_64bit
37
+ - task : macOS_ARM64
37
38
38
39
Windows_32bit :
39
40
desc : Builds Windows 32 bit binaries
40
41
dir : " {{.DIST_DIR}}"
41
42
cmds :
42
43
- |
43
- mkdir {{.PLATFORM_DIR}}
44
- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
45
44
docker run -v `pwd`/..:/home/build -w /home/build \
46
- -e CGO_ENABLED=1 \
45
+ -e CGO_ENABLED=0 \
47
46
{{.CONTAINER}}:{{.CONTAINER_TAG}} \
48
47
--build-cmd "{{.BUILD_COMMAND}}" \
49
48
-p "{{.BUILD_PLATFORM}}"
50
49
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
52
51
sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
53
52
54
53
vars :
@@ -64,15 +63,13 @@ tasks:
64
63
dir : " {{.DIST_DIR}}"
65
64
cmds :
66
65
- |
67
- mkdir {{.PLATFORM_DIR}}
68
- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
69
66
docker run -v `pwd`/..:/home/build -w /home/build \
70
- -e CGO_ENABLED=1 \
67
+ -e CGO_ENABLED=0 \
71
68
{{.CONTAINER}}:{{.CONTAINER_TAG}} \
72
69
--build-cmd "{{.BUILD_COMMAND}}" \
73
70
-p "{{.BUILD_PLATFORM}}"
74
71
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
76
73
sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
77
74
78
75
vars :
@@ -88,15 +85,13 @@ tasks:
88
85
dir : " {{.DIST_DIR}}"
89
86
cmds :
90
87
- |
91
- mkdir {{.PLATFORM_DIR}}
92
- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
93
88
docker run -v `pwd`/..:/home/build -w /home/build \
94
- -e CGO_ENABLED=1 \
89
+ -e CGO_ENABLED=0 \
95
90
{{.CONTAINER}}:{{.CONTAINER_TAG}} \
96
91
--build-cmd "{{.BUILD_COMMAND}}" \
97
92
-p "{{.BUILD_PLATFORM}}"
98
93
99
- tar cz {{.PLATFORM_DIR}} -f {{.PACKAGE_NAME}}
94
+ tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}}
100
95
sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
101
96
102
97
vars :
@@ -112,15 +107,13 @@ tasks:
112
107
dir : " {{.DIST_DIR}}"
113
108
cmds :
114
109
- |
115
- mkdir {{.PLATFORM_DIR}}
116
- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
117
110
docker run -v `pwd`/..:/home/build -w /home/build \
118
- -e CGO_ENABLED=1 \
111
+ -e CGO_ENABLED=0 \
119
112
{{.CONTAINER}}:{{.CONTAINER_TAG}} \
120
113
--build-cmd "{{.BUILD_COMMAND}}" \
121
114
-p "{{.BUILD_PLATFORM}}"
122
115
123
- tar cz {{.PLATFORM_DIR}} -f {{.PACKAGE_NAME}}
116
+ tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}}
124
117
sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
125
118
126
119
vars :
@@ -136,15 +129,13 @@ tasks:
136
129
dir : " {{.DIST_DIR}}"
137
130
cmds :
138
131
- |
139
- mkdir {{.PLATFORM_DIR}}
140
- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
141
132
docker run -v `pwd`/..:/home/build -w /home/build \
142
- -e CGO_ENABLED=1 \
133
+ -e CGO_ENABLED=0 \
143
134
{{.CONTAINER}}:{{.CONTAINER_TAG}} \
144
135
--build-cmd "{{.BUILD_COMMAND}}" \
145
136
-p "{{.BUILD_PLATFORM}}"
146
137
147
- tar cz {{.PLATFORM_DIR}} -f {{.PACKAGE_NAME}}
138
+ tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}}
148
139
sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
149
140
150
141
vars :
@@ -160,15 +151,13 @@ tasks:
160
151
dir : " {{.DIST_DIR}}"
161
152
cmds :
162
153
- |
163
- mkdir {{.PLATFORM_DIR}}
164
- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
165
154
docker run -v `pwd`/..:/home/build -w /home/build \
166
- -e CGO_ENABLED=1 \
155
+ -e CGO_ENABLED=0 \
167
156
{{.CONTAINER}}:{{.CONTAINER_TAG}} \
168
157
--build-cmd "{{.BUILD_COMMAND}}" \
169
158
-p "{{.BUILD_PLATFORM}}"
170
159
171
- tar cz {{.PLATFORM_DIR}} -f {{.PACKAGE_NAME}}
160
+ tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}}
172
161
sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
173
162
174
163
vars :
@@ -203,7 +192,11 @@ tasks:
203
192
#
204
193
# Until there is a fix released we must use a recent gcc for Linux_ARMv6 build, so for this
205
194
# 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"
207
200
PACKAGE_PLATFORM : " Linux_ARMv6"
208
201
PACKAGE_NAME : " {{.PROJECT_NAME}}_{{.VERSION}}_{{.PACKAGE_PLATFORM}}.tar.gz"
209
202
@@ -212,15 +205,13 @@ tasks:
212
205
dir : " {{.DIST_DIR}}"
213
206
cmds :
214
207
- |
215
- mkdir {{.PLATFORM_DIR}}
216
- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
217
208
docker run -v `pwd`/..:/home/build -w /home/build \
218
- -e CGO_ENABLED=1 \
209
+ -e CGO_ENABLED=0 \
219
210
{{.CONTAINER}}:{{.CONTAINER_TAG}} \
220
211
--build-cmd "{{.BUILD_COMMAND}}" \
221
212
-p "{{.BUILD_PLATFORM}}"
222
213
223
- tar cz {{.PLATFORM_DIR}} -f {{.PACKAGE_NAME}}
214
+ tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}}
224
215
sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
225
216
226
217
vars :
@@ -235,16 +226,15 @@ tasks:
235
226
desc : Builds Mac OS X 64 bit binaries
236
227
dir : " {{.DIST_DIR}}"
237
228
cmds :
229
+ # "git config safe.directory" is required until this is fixed https://github.com/elastic/golang-crossbuild/issues/232
238
230
- |
239
- mkdir {{.PLATFORM_DIR}}
240
- cp ../LICENSE.txt {{.PLATFORM_DIR}}/
241
231
docker run -v `pwd`/..:/home/build -w /home/build \
242
- -e CGO_ENABLED=1 \
232
+ -e CGO_ENABLED=0 \
243
233
{{.CONTAINER}}:{{.CONTAINER_TAG}} \
244
- --build-cmd "{{.BUILD_COMMAND}}" \
234
+ --build-cmd "git config --global --add safe.directory /home/build && {{.BUILD_COMMAND}}" \
245
235
-p "{{.BUILD_PLATFORM}}"
246
236
247
- tar cz {{.PLATFORM_DIR}} -f {{.PACKAGE_NAME}}
237
+ tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}}
248
238
sha256sum {{.PACKAGE_NAME}} >> {{.CHECKSUM_FILE}}
249
239
250
240
vars :
@@ -267,3 +257,26 @@ tasks:
267
257
CONTAINER_TAG : " {{.GO_VERSION}}-darwin-debian10"
268
258
PACKAGE_PLATFORM : " macOS_64bit"
269
259
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