@@ -62,15 +62,33 @@ jobs:
62
62
strategy :
63
63
matrix :
64
64
os :
65
- - Windows_32bit
66
- - Windows_64bit
67
- - Linux_32bit
68
- - Linux_64bit
69
- - Linux_ARMv6
70
- - Linux_ARMv7
71
- - Linux_ARM64
72
- - macOS_64bit
73
- - macOS_ARM64
65
+ - dist : Windows_32bit
66
+ path : " *Windows_32bit.zip"
67
+ name : Windows_X86-32
68
+ - dist : Windows_64bit
69
+ path : " *Windows_64bit.zip"
70
+ name : Windows_X86-64
71
+ - dist : Linux_32bit
72
+ path : " *Linux_32bit.tar.gz"
73
+ name : Linux_X86-32
74
+ - dist : Linux_64bit
75
+ path : " *Linux_64bit.tar.gz"
76
+ name : Linux_X86-64
77
+ - dist : Linux_ARMv6
78
+ path : " *Linux_ARMv6.tar.gz"
79
+ name : Linux_ARMv6
80
+ - dist : Linux_ARMv7
81
+ path : " *Linux_ARMv7.tar.gz"
82
+ name : Linux_ARMv7
83
+ - dist : Linux_ARM64
84
+ path : " *Linux_ARM64.tar.gz"
85
+ name : Linux_ARM64
86
+ - dist : macOS_64bit
87
+ path : " *macOS_64bit.tar.gz"
88
+ name : macOS_64
89
+ - dist : macOS_ARM64
90
+ path : " *macOS_ARM64.tar.gz"
91
+ name : macOS_ARM64
74
92
75
93
steps :
76
94
- name : Checkout repository
@@ -92,54 +110,25 @@ jobs:
92
110
fi
93
111
PACKAGE_NAME_PREFIX="$PACKAGE_NAME_PREFIX-${{ github.sha }}-"
94
112
export PACKAGE_NAME_PREFIX
95
- task dist:${{ matrix.os }}
113
+ task dist:${{ matrix.os.dist }}
96
114
97
- # Transfer builds to artifacts job
98
- - name : Upload combined builds artifact
115
+ - name : Upload build artifact
99
116
uses : actions/upload-artifact@v3
100
117
with :
101
118
path : ${{ env.DIST_DIR }}
102
- name : ${{ env.BUILDS_ARTIFACT }}
119
+ name : ${{ matrix.os.name }}
103
120
104
- artifacts :
105
- name : ${{ matrix.artifact.name }} artifact
121
+ checksums :
106
122
needs : build
107
123
runs-on : ubuntu-latest
108
124
109
- strategy :
110
- matrix :
111
- artifact :
112
- - path : " *checksums.txt"
113
- name : checksums
114
- - path : " *Linux_32bit.tar.gz"
115
- name : Linux_X86-32
116
- - path : " *Linux_64bit.tar.gz"
117
- name : Linux_X86-64
118
- - path : " *Linux_ARM64.tar.gz"
119
- name : Linux_ARM64
120
- - path : " *Linux_ARMv6.tar.gz"
121
- name : Linux_ARMv6
122
- - path : " *Linux_ARMv7.tar.gz"
123
- name : Linux_ARMv7
124
- - path : " *macOS_64bit.tar.gz"
125
- name : macOS_64
126
- - path : " *macOS_ARM64.tar.gz"
127
- name : macOS_ARM64
128
- - path : " *Windows_32bit.zip"
129
- name : Windows_X86-32
130
- - path : " *Windows_64bit.zip"
131
- name : Windows_X86-64
132
-
133
125
steps :
134
- - name : Download combined builds artifact
126
+ - name : Download build artifacts
135
127
uses : actions/download-artifact@v3
136
128
with :
137
- name : ${{ env.BUILDS_ARTIFACT }}
138
129
path : ${{ env.BUILDS_ARTIFACT }}
139
130
140
- # Calculate checksums once
141
131
- name : Output checksum
142
- if : matrix.artifact.name == 'checksums'
143
132
working-directory : ${{ env.BUILDS_ARTIFACT}}
144
133
run : |
145
134
PACKAGE_NAME_PREFIX="test"
@@ -148,20 +137,17 @@ jobs:
148
137
fi
149
138
PACKAGE_NAME_PREFIX="$PACKAGE_NAME_PREFIX-${{ github.sha }}-"
150
139
TAG="${PACKAGE_NAME_PREFIX}git-snapshot"
151
- sha256sum ${{ env.PROJECT_NAME }}_${TAG}* >> ${TAG}-checksums.txt
152
-
153
- - name : Upload individual build artifact
140
+ declare -a artifacts=($(ls -d */))
141
+ for artifact in ${artifacts[@]}
142
+ do
143
+ cd $artifact
144
+ checksum=$(sha256sum ${{ env.PROJECT_NAME }}_${TAG}*)
145
+ cd ..
146
+ echo $checksum >> ${TAG}-checksums.txt
147
+ done
148
+
149
+ - name : Upload checksum artifact
154
150
uses : actions/upload-artifact@v3
155
151
with :
156
- path : ${{ env.BUILDS_ARTIFACT }}/${{ matrix.artifact.path }}
157
- name : ${{ matrix.artifact.name }}
158
-
159
- clean :
160
- needs : artifacts
161
- runs-on : ubuntu-latest
162
-
163
- steps :
164
- - name : Remove unneeded combined builds artifact
165
- uses : geekyeggo/delete-artifact@v1
166
- with :
167
- name : ${{ env.BUILDS_ARTIFACT }}
152
+ path : ${{ env.BUILDS_ARTIFACT }}/*checksums.txt
153
+ name : checksums
0 commit comments