@@ -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