@@ -62,23 +62,23 @@ jobs:
62
62
# we specify bash to get pipefail; it guards against the `curl` command
63
63
# failing. otherwise `sh` won't catch that `curl` returned non-0
64
64
shell : bash
65
- run : " curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.7.2 /cargo-dist-installer.sh | sh"
65
+ run : " curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.11.1 /cargo-dist-installer.sh | sh"
66
66
# sure would be cool if github gave us proper conditionals...
67
67
# so here's a doubly-nested ternary-via-truthiness to try to provide the best possible
68
68
# functionality based on whether this is a pull_request, and whether it's from a fork.
69
69
# (PRs run on the *source* but secrets are usually on the *target* -- that's *good*
70
70
# but also really annoying to build CI around when it needs secrets to work right.)
71
71
- id : plan
72
72
run : |
73
- cargo dist ${{ !github.event.pull_request && format('host --steps=create --tag={0}', github.ref_name) || (github.event.pull_request.head.repo.fork && 'plan' || 'host --steps=check') }} --output-format=json > dist-manifest.json
73
+ cargo dist ${{ ( !github.event.pull_request && format('host --steps=create --tag={0}', github.ref_name)) || 'plan' }} --output-format=json > plan- dist-manifest.json
74
74
echo "cargo dist ran successfully"
75
- cat dist-manifest.json
76
- echo "manifest=$(jq -c "." dist-manifest.json)" >> "$GITHUB_OUTPUT"
75
+ cat plan- dist-manifest.json
76
+ echo "manifest=$(jq -c "." plan- dist-manifest.json)" >> "$GITHUB_OUTPUT"
77
77
- name : " Upload dist-manifest.json"
78
- uses : actions/upload-artifact@v3
78
+ uses : actions/upload-artifact@v4
79
79
with :
80
- name : artifacts
81
- path : dist-manifest.json
80
+ name : artifacts-plan-dist-manifest
81
+ path : plan- dist-manifest.json
82
82
83
83
# Build and packages all the platform-specific things
84
84
build-local-artifacts :
@@ -113,10 +113,11 @@ jobs:
113
113
run : ${{ matrix.install_dist }}
114
114
# Get the dist-manifest
115
115
- name : Fetch local artifacts
116
- uses : actions/download-artifact@v3
116
+ uses : actions/download-artifact@v4
117
117
with :
118
- name : artifacts
118
+ pattern : artifacts-*
119
119
path : target/distrib/
120
+ merge-multiple : true
120
121
- name : Install dependencies
121
122
run : |
122
123
${{ matrix.packages_install }}
@@ -139,9 +140,9 @@ jobs:
139
140
140
141
cp dist-manifest.json "$BUILD_MANIFEST_NAME"
141
142
- name : " Upload artifacts"
142
- uses : actions/upload-artifact@v3
143
+ uses : actions/upload-artifact@v4
143
144
with :
144
- name : artifacts
145
+ name : artifacts-build-local-${{ join(matrix.targets, '_') }}
145
146
path : |
146
147
${{ steps.cargo-dist.outputs.paths }}
147
148
${{ env.BUILD_MANIFEST_NAME }}
@@ -160,13 +161,15 @@ jobs:
160
161
with :
161
162
submodules : recursive
162
163
- name : Install cargo-dist
163
- run : " curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.7.2/cargo-dist-installer.sh | sh"
164
+ shell : bash
165
+ run : " curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.11.1/cargo-dist-installer.sh | sh"
164
166
# Get all the local artifacts for the global tasks to use (for e.g. checksums)
165
167
- name : Fetch local artifacts
166
- uses : actions/download-artifact@v3
168
+ uses : actions/download-artifact@v4
167
169
with :
168
- name : artifacts
170
+ pattern : artifacts-*
169
171
path : target/distrib/
172
+ merge-multiple : true
170
173
- id : cargo-dist
171
174
shell : bash
172
175
run : |
@@ -180,9 +183,9 @@ jobs:
180
183
181
184
cp dist-manifest.json "$BUILD_MANIFEST_NAME"
182
185
- name : " Upload artifacts"
183
- uses : actions/upload-artifact@v3
186
+ uses : actions/upload-artifact@v4
184
187
with :
185
- name : artifacts
188
+ name : artifacts-build-global
186
189
path : |
187
190
${{ steps.cargo-dist.outputs.paths }}
188
191
${{ env.BUILD_MANIFEST_NAME }}
@@ -204,13 +207,14 @@ jobs:
204
207
with :
205
208
submodules : recursive
206
209
- name : Install cargo-dist
207
- run : " curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.7.2 /cargo-dist-installer.sh | sh"
210
+ run : " curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.11.1 /cargo-dist-installer.sh | sh"
208
211
# Fetch artifacts from scratch-storage
209
212
- name : Fetch artifacts
210
- uses : actions/download-artifact@v3
213
+ uses : actions/download-artifact@v4
211
214
with :
212
- name : artifacts
215
+ pattern : artifacts-*
213
216
path : target/distrib/
217
+ merge-multiple : true
214
218
# This is a harmless no-op for Github Releases, hosting for that happens in "announce"
215
219
- id : host
216
220
shell : bash
@@ -220,9 +224,10 @@ jobs:
220
224
cat dist-manifest.json
221
225
echo "manifest=$(jq -c "." dist-manifest.json)" >> "$GITHUB_OUTPUT"
222
226
- name : " Upload dist-manifest.json"
223
- uses : actions/upload-artifact@v3
227
+ uses : actions/upload-artifact@v4
224
228
with :
225
- name : artifacts
229
+ # Overwrite the previous copy
230
+ name : artifacts-dist-manifest
226
231
path : dist-manifest.json
227
232
228
233
# Create a Github Release while uploading all files to it
@@ -242,10 +247,11 @@ jobs:
242
247
with :
243
248
submodules : recursive
244
249
- name : " Download Github Artifacts"
245
- uses : actions/download-artifact@v3
250
+ uses : actions/download-artifact@v4
246
251
with :
247
- name : artifacts
252
+ pattern : artifacts-*
248
253
path : artifacts
254
+ merge-multiple : true
249
255
- name : Cleanup
250
256
run : |
251
257
# Remove the granular manifests
0 commit comments