4
4
# The name of the project
5
5
PROJECT_NAME : imgtool
6
6
DIST_DIR : dist
7
- ARTIFACT_NAME : dist
7
+ ARTIFACT_PREFIX : dist-
8
8
# The project's folder on Arduino's download server for uploading builds
9
9
AWS_PLUGIN_TARGET : /tools/
10
10
# See: https://github.com/actions/setup-python/tree/main#available-versions-of-python
39
39
defaults :
40
40
run :
41
41
shell : bash
42
-
42
+
43
43
runs-on : ${{ matrix.os }}
44
44
45
45
steps :
54
54
uses : actions/checkout@v4
55
55
with :
56
56
path : ${{ env.IMGTOOL_PACKING_PATH }}
57
-
57
+
58
58
- name : Set the version
59
59
working-directory : ${{ env.IMGTOOL_PACKING_PATH }}/patches/
60
60
run : perl -pi -e "s/ARDUINO_VERSION_PLACEHOLDER/${GITHUB_REF/refs\/tags\//}/g" 0008-Imgtool-Append-arduino-to-version-string.patch
97
97
mv -v ./${{ env.PROJECT_NAME }}.exe ${{ env.PROJECT_NAME }}_${{ matrix.package_platform }}
98
98
mv -v "${{ env.IMGTOOL_PACKING_PATH }}/LICENSE.txt" ${{ env.PROJECT_NAME }}_${{ matrix.package_platform }}
99
99
7z a ${{ env.PROJECT_NAME }}_${GITHUB_REF/refs\/tags\//}_${{ matrix.package_platform }}.zip ${{ env.PROJECT_NAME }}_${{ matrix.package_platform }}
100
-
100
+
101
101
- name : Package
102
102
if : runner.os != 'Windows'
103
103
working-directory : ${{ env.MCUBOOT_PATH }}/scripts/${{ env.DIST_DIR }}
@@ -109,10 +109,10 @@ jobs:
109
109
${{ matrix.archive_util }} -cz ${{ env.PROJECT_NAME }}_${{ matrix.package_platform }} -f ${{ env.PROJECT_NAME }}_${GITHUB_REF/refs\/tags\//}_${{ matrix.package_platform }}.tar.gz
110
110
111
111
- name : Upload artifacts
112
- uses : actions/upload-artifact@v3
112
+ uses : actions/upload-artifact@v4
113
113
with :
114
114
if-no-files-found : error
115
- name : ${{ env.ARTIFACT_NAME }}
115
+ name : ${{ env.ARTIFACT_PREFIX }}${{ matrix.package_platform }}
116
116
path : ${{ env.MCUBOOT_PATH }}/scripts/dist/${{ env.PROJECT_NAME }}_*
117
117
118
118
build-crosscompile :
@@ -155,7 +155,7 @@ jobs:
155
155
with :
156
156
image : tonistiigi/binfmt:latest
157
157
platforms : all
158
-
158
+
159
159
- name : Copy build script
160
160
working-directory : ${{ env.IMGTOOL_PACKING_PATH }}
161
161
run : cp build.sh ${{ env.MCUBOOT_PATH }}/scripts/imgtool/
@@ -180,26 +180,34 @@ jobs:
180
180
sudo tar -cz ${{ env.PROJECT_NAME }}_${{ matrix.package_platform }} -f ${{ env.PROJECT_NAME }}_${GITHUB_REF/refs\/tags\//}_${{ matrix.package_platform }}.tar.gz #dist dir is created in the container with different user/grp
181
181
182
182
- name : Upload artifacts
183
- uses : actions/upload-artifact@v3
183
+ uses : actions/upload-artifact@v4
184
184
with :
185
185
if-no-files-found : error
186
- name : ${{ env.ARTIFACT_NAME }}
186
+ name : ${{ env.ARTIFACT_PREFIX }}${{ matrix.package_platform }}
187
187
path : ${{ env.MCUBOOT_PATH }}/scripts/dist/${{ env.PROJECT_NAME }}_*
188
188
189
189
notarize-macos :
190
190
runs-on : macos-latest
191
191
needs : build
192
192
193
+ env :
194
+ ARTIFACT_SUFFIX : macOS_64bit
195
+
193
196
steps :
194
197
- name : Checkout repository
195
198
uses : actions/checkout@v4
196
199
197
- - name : Download artifacts
198
- uses : actions/download-artifact@v3
200
+ - name : Download non-notarized artifact
201
+ uses : actions/download-artifact@v4
199
202
with :
200
- name : ${{ env.ARTIFACT_NAME }}
203
+ name : ${{ env.ARTIFACT_PREFIX }}${{ env.ARTIFACT_SUFFIX }}
201
204
path : ${{ env.DIST_DIR }}
202
205
206
+ - name : Remove non-notarized artifact
207
+ uses : geekyeggo/delete-artifact@v5
208
+ with :
209
+ name : ${{ env.ARTIFACT_PREFIX }}${{ env.ARTIFACT_SUFFIX }}
210
+
203
211
- name : Import Code-Signing Certificates
204
212
env :
205
213
KEYCHAIN : " sign.keychain"
@@ -248,13 +256,13 @@ jobs:
248
256
PACKAGE_FILENAME="${{ env.PROJECT_NAME }}_${TAG}_macOS_64bit.tar.gz"
249
257
tar -czvf "${PACKAGE_FILENAME}" "${{ env.PROJECT_NAME }}_macOS_64bit"
250
258
251
- - name : Upload artifacts
252
- uses : actions/upload-artifact@v3
259
+ - name : Upload notarized artifact
260
+ uses : actions/upload-artifact@v4
253
261
with :
254
262
if-no-files-found : error
255
- name : ${{ env.ARTIFACT_NAME }}
263
+ name : ${{ env.ARTIFACT_PREFIX }}${{ env.ARTIFACT_SUFFIX }}
256
264
path : ${{ env.DIST_DIR }}
257
-
265
+
258
266
create-release :
259
267
runs-on : ubuntu-latest
260
268
needs : [build, build-crosscompile, notarize-macos]
@@ -264,10 +272,11 @@ jobs:
264
272
uses : actions/checkout@v4
265
273
266
274
- name : Download artifact
267
- uses : actions/download-artifact@v3
275
+ uses : actions/download-artifact@v4
268
276
with :
269
- name : ${{ env.ARTIFACT_NAME }}
277
+ merge-multiple : true
270
278
path : ${{ env.DIST_DIR }}
279
+ pattern : ${{ env.ARTIFACT_PREFIX }}*
271
280
272
281
- name : Identify Prerelease
273
282
# This is a workaround while waiting for create-release action
@@ -303,7 +312,7 @@ jobs:
303
312
echo ================== CUT ME HERE =====================
304
313
echo "${package_index}"
305
314
echo "${package_index}" > dist/package_index_draft.json
306
-
315
+
307
316
- name : Create Github Release and upload artifacts
308
317
uses : ncipollo/release-action@v1
309
318
with :
0 commit comments