88 DIST_DIR : dist
99 # The project's folder on Arduino's download server for uploading builds
1010 AWS_PLUGIN_TARGET : /arduino-lint/
11- ARTIFACT_NAME : dist
11+ ARTIFACT_PREFIX : dist-
1212
1313on :
1414 push :
@@ -24,15 +24,24 @@ jobs:
2424 strategy :
2525 matrix :
2626 os :
27- - Windows_32bit
28- - Windows_64bit
29- - Linux_32bit
30- - Linux_64bit
31- - Linux_ARMv6
32- - Linux_ARMv7
33- - Linux_ARM64
34- - macOS_64bit
35- - macOS_ARM64
27+ - task : Windows_32bit
28+ artifact-suffix : Windows_32bit
29+ - task : Windows_64bit
30+ artifact-suffix : Windows_64bit
31+ - task : Linux_32bit
32+ artifact-suffix : Linux_32bit
33+ - task : Linux_64bit
34+ artifact-suffix : Linux_64bit
35+ - task : Linux_ARMv6
36+ artifact-suffix : Linux_ARMv6
37+ - task : Linux_ARMv7
38+ artifact-suffix : Linux_ARMv7
39+ - task : Linux_ARM64
40+ artifact-suffix : Linux_ARM64
41+ - task : macOS_64bit
42+ artifact-suffix : macOS_64bit
43+ - task : macOS_ARM64
44+ artifact-suffix : macOS_ARM64
3645
3746 steps :
3847 - name : Checkout repository
4251
4352 - name : Create changelog
4453 # Avoid creating the same changelog for each os
45- if : matrix.os == 'Windows_32bit'
54+ if : matrix.os.task == 'Windows_32bit'
4655 uses : arduino/create-changelog@v1
4756 with :
4857 tag-regex : ' ^[0-9]+\.[0-9]+\.[0-9]+.*$'
@@ -57,17 +66,17 @@ jobs:
5766 version : 3.x
5867
5968 - name : Build
60- run : task dist:${{ matrix.os }}
69+ run : task dist:${{ matrix.os.task }}
6170
6271 - name : Upload artifacts
6372 uses : actions/upload-artifact@v4
6473 with :
6574 if-no-files-found : error
66- name : ${{ env.ARTIFACT_NAME }}- ${{ matrix.os }}
75+ name : ${{ env.ARTIFACT_PREFIX }}${{ matrix.os.artifact-suffix }}
6776 path : ${{ env.DIST_DIR }}
6877
6978 notarize-macos :
70- name : Notarize ${{ matrix.artifact.name }}
79+ name : Notarize ${{ matrix.build.folder-suffix }}
7180 runs-on : macos-latest
7281 needs : create-release-artifacts
7382 outputs :
@@ -81,11 +90,11 @@ jobs:
8190
8291 strategy :
8392 matrix :
84- artifact :
85- - name : darwin_amd64
86- path : " macOS_64bit.tar.gz"
87- - name : darwin_arm64
88- path : " macOS_ARM64.tar.gz"
93+ build :
94+ - folder-suffix : darwin_amd64
95+ package-suffix : " macOS_64bit.tar.gz"
96+ - folder-suffix : darwin_arm64
97+ package-suffix : " macOS_ARM64.tar.gz"
8998
9099 steps :
91100 - name : Checkout repository
94103 - name : Download artifacts
95104 uses : actions/download-artifact@v4
96105 with :
97- pattern : ${{ env.ARTIFACT_NAME }}- *
106+ pattern : ${{ env.ARTIFACT_PREFIX }}*
98107 merge-multiple : true
99108 path : ${{ env.DIST_DIR }}
100109
@@ -131,7 +140,7 @@ jobs:
131140 run : |
132141 cat > "${{ env.GON_CONFIG_PATH }}" <<EOF
133142 # See: https://github.com/Bearer/gon#configuration-file
134- source = ["${{ env.DIST_DIR }}/${{ env.PROJECT_NAME }}_osx_${{ matrix.artifact.name }}/${{ env.PROJECT_NAME }}"]
143+ source = ["${{ env.DIST_DIR }}/${{ env.PROJECT_NAME }}_osx_${{ matrix.build.folder-suffix }}/${{ env.PROJECT_NAME }}"]
135144 bundle_id = "cc.arduino.${{ env.PROJECT_NAME }}"
136145
137146 sign {
@@ -160,19 +169,19 @@ jobs:
160169 run : |
161170 # GitHub's upload/download-artifact actions don't preserve file permissions,
162171 # so we need to add execution permission back until the action is made to do this.
163- chmod +x "${{ env.PROJECT_NAME }}_osx_${{ matrix.artifact.name }}/${{ env.PROJECT_NAME }}"
172+ chmod +x "${{ env.PROJECT_NAME }}_osx_${{ matrix.build.folder-suffix }}/${{ env.PROJECT_NAME }}"
164173 TAG="${GITHUB_REF/refs\/tags\//}"
165- PACKAGE_FILENAME="${{ env.PROJECT_NAME }}_${TAG}_${{ matrix.artifact.path }}"
174+ PACKAGE_FILENAME="${{ env.PROJECT_NAME }}_${TAG}_${{ matrix.build.package-suffix }}"
166175 tar -czvf "$PACKAGE_FILENAME" \
167- -C "${{ env.PROJECT_NAME }}_osx_${{ matrix.artifact.name }}/" "${{ env.PROJECT_NAME }}" \
176+ -C "${{ env.PROJECT_NAME }}_osx_${{ matrix.build.folder-suffix }}/" "${{ env.PROJECT_NAME }}" \
168177 -C ../../ LICENSE.txt
169178 echo "PACKAGE_FILENAME=$PACKAGE_FILENAME" >> $GITHUB_ENV
170179
171180 - name : Upload artifact
172181 uses : actions/upload-artifact@v4
173182 with :
174183 if-no-files-found : error
175- name : ${{ env.ARTIFACT_NAME }}- notarized-${{ matrix.artifact.name }}
184+ name : ${{ env.ARTIFACT_PREFIX }}notarized-${{ matrix.build.folder-suffix }}
176185 path : ${{ env.DIST_DIR }}/${{ env.PACKAGE_FILENAME }}
177186
178187 create-release :
@@ -185,7 +194,7 @@ jobs:
185194 - name : Download artifact
186195 uses : actions/download-artifact@v4
187196 with :
188- pattern : ${{ env.ARTIFACT_NAME }}- *
197+ pattern : ${{ env.ARTIFACT_PREFIX }}*
189198 merge-multiple : true
190199 path : ${{ env.DIST_DIR }}
191200
0 commit comments