1# Generated from xtask::workflows::release
2# Rebuild with `cargo xtask workflows`.
3name: release
4env:
5 CARGO_TERM_COLOR: always
6 RUST_BACKTRACE: '1'
7on:
8 push:
9 tags:
10 - v*
11jobs:
12 run_tests_mac:
13 if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
14 runs-on: self-mini-macos
15 steps:
16 - name: steps::checkout_repo
17 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
18 with:
19 clean: false
20 - name: steps::setup_cargo_config
21 run: |
22 mkdir -p ./../.cargo
23 cp ./.cargo/ci-config.toml ./../.cargo/config.toml
24 shell: bash -euxo pipefail {0}
25 - name: steps::setup_node
26 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
27 with:
28 node-version: '20'
29 - id: clippy
30 name: steps::clippy
31 run: ./script/clippy
32 shell: bash -euxo pipefail {0}
33 - name: steps::clear_target_dir_if_large
34 run: ./script/clear-target-dir-if-larger-than 300
35 shell: bash -euxo pipefail {0}
36 - name: steps::cargo_nextest
37 run: cargo nextest run --workspace --no-fail-fast
38 shell: bash -euxo pipefail {0}
39 - name: steps::cleanup_cargo_config
40 if: always()
41 run: |
42 rm -rf ./../.cargo
43 shell: bash -euxo pipefail {0}
44 timeout-minutes: 60
45 run_tests_linux:
46 if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
47 runs-on: namespace-profile-16x32-ubuntu-2204
48 steps:
49 - name: steps::checkout_repo
50 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
51 with:
52 clean: false
53 - name: steps::setup_cargo_config
54 run: |
55 mkdir -p ./../.cargo
56 cp ./.cargo/ci-config.toml ./../.cargo/config.toml
57 shell: bash -euxo pipefail {0}
58 - name: steps::cache_rust_dependencies_namespace
59 uses: namespacelabs/nscloud-cache-action@v1
60 with:
61 cache: rust
62 - name: steps::setup_linux
63 run: ./script/linux
64 shell: bash -euxo pipefail {0}
65 - name: steps::install_mold
66 run: ./script/install-mold
67 shell: bash -euxo pipefail {0}
68 - name: steps::download_wasi_sdk
69 run: ./script/download-wasi-sdk
70 shell: bash -euxo pipefail {0}
71 - name: steps::setup_node
72 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
73 with:
74 node-version: '20'
75 - id: clippy
76 name: steps::clippy
77 run: ./script/clippy
78 shell: bash -euxo pipefail {0}
79 - id: record_clippy_failure
80 name: steps::record_clippy_failure
81 if: always()
82 run: echo "failed=${{ steps.clippy.outcome == 'failure' }}" >> "$GITHUB_OUTPUT"
83 shell: bash -euxo pipefail {0}
84 - name: steps::cargo_install_nextest
85 uses: taiki-e/install-action@nextest
86 - name: steps::clear_target_dir_if_large
87 run: ./script/clear-target-dir-if-larger-than 250
88 shell: bash -euxo pipefail {0}
89 - name: steps::cargo_nextest
90 run: cargo nextest run --workspace --no-fail-fast
91 shell: bash -euxo pipefail {0}
92 - name: steps::cleanup_cargo_config
93 if: always()
94 run: |
95 rm -rf ./../.cargo
96 shell: bash -euxo pipefail {0}
97 outputs:
98 clippy_failed: ${{ steps.record_clippy_failure.outputs.failed == 'true' }}
99 timeout-minutes: 60
100 run_tests_windows:
101 if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
102 runs-on: self-32vcpu-windows-2022
103 steps:
104 - name: steps::checkout_repo
105 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
106 with:
107 clean: false
108 - name: steps::setup_cargo_config
109 run: |
110 New-Item -ItemType Directory -Path "./../.cargo" -Force
111 Copy-Item -Path "./.cargo/ci-config.toml" -Destination "./../.cargo/config.toml"
112 shell: pwsh
113 - name: steps::setup_node
114 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
115 with:
116 node-version: '20'
117 - id: clippy
118 name: steps::clippy
119 run: ./script/clippy.ps1
120 shell: pwsh
121 - name: steps::clear_target_dir_if_large
122 run: ./script/clear-target-dir-if-larger-than.ps1 250
123 shell: pwsh
124 - name: steps::cargo_nextest
125 run: cargo nextest run --workspace --no-fail-fast
126 shell: pwsh
127 - name: steps::cleanup_cargo_config
128 if: always()
129 run: |
130 Remove-Item -Recurse -Path "./../.cargo" -Force -ErrorAction SilentlyContinue
131 shell: pwsh
132 timeout-minutes: 60
133 check_scripts:
134 if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
135 runs-on: namespace-profile-2x4-ubuntu-2404
136 steps:
137 - name: steps::checkout_repo
138 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
139 with:
140 clean: false
141 - name: run_tests::check_scripts::run_shellcheck
142 run: ./script/shellcheck-scripts error
143 shell: bash -euxo pipefail {0}
144 - id: get_actionlint
145 name: run_tests::check_scripts::download_actionlint
146 run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
147 shell: bash -euxo pipefail {0}
148 - name: run_tests::check_scripts::run_actionlint
149 run: |
150 ${{ steps.get_actionlint.outputs.executable }} -color
151 shell: bash -euxo pipefail {0}
152 - name: run_tests::check_scripts::check_xtask_workflows
153 run: |
154 cargo xtask workflows
155 if ! git diff --exit-code .github; then
156 echo "Error: .github directory has uncommitted changes after running 'cargo xtask workflows'"
157 echo "Please run 'cargo xtask workflows' locally and commit the changes"
158 exit 1
159 fi
160 shell: bash -euxo pipefail {0}
161 timeout-minutes: 60
162 create_draft_release:
163 if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
164 runs-on: namespace-profile-2x4-ubuntu-2404
165 steps:
166 - name: steps::checkout_repo
167 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
168 with:
169 clean: false
170 fetch-depth: 25
171 ref: ${{ github.ref }}
172 - name: script/determine-release-channel
173 run: script/determine-release-channel
174 shell: bash -euxo pipefail {0}
175 - name: mkdir -p target/
176 run: mkdir -p target/
177 shell: bash -euxo pipefail {0}
178 - name: release::create_draft_release::generate_release_notes
179 run: node --redirect-warnings=/dev/null ./script/draft-release-notes "$RELEASE_VERSION" "$RELEASE_CHANNEL" > target/release-notes.md
180 shell: bash -euxo pipefail {0}
181 - name: release::create_draft_release::create_release
182 run: script/create-draft-release target/release-notes.md
183 shell: bash -euxo pipefail {0}
184 env:
185 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
186 timeout-minutes: 60
187 bundle_linux_aarch64:
188 needs:
189 - run_tests_linux
190 - check_scripts
191 runs-on: namespace-profile-8x32-ubuntu-2004-arm-m4
192 env:
193 CARGO_INCREMENTAL: 0
194 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
195 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
196 steps:
197 - name: steps::checkout_repo
198 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
199 with:
200 clean: false
201 - name: steps::setup_sentry
202 uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
203 with:
204 token: ${{ secrets.SENTRY_AUTH_TOKEN }}
205 - name: steps::setup_linux
206 run: ./script/linux
207 shell: bash -euxo pipefail {0}
208 - name: steps::install_mold
209 run: ./script/install-mold
210 shell: bash -euxo pipefail {0}
211 - name: steps::download_wasi_sdk
212 run: ./script/download-wasi-sdk
213 shell: bash -euxo pipefail {0}
214 - name: ./script/bundle-linux
215 run: ./script/bundle-linux
216 shell: bash -euxo pipefail {0}
217 - name: '@actions/upload-artifact zed-linux-aarch64.tar.gz'
218 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
219 with:
220 name: zed-linux-aarch64.tar.gz
221 path: target/release/zed-linux-aarch64.tar.gz
222 if-no-files-found: error
223 - name: '@actions/upload-artifact zed-remote-server-linux-aarch64.gz'
224 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
225 with:
226 name: zed-remote-server-linux-aarch64.gz
227 path: target/zed-remote-server-linux-aarch64.gz
228 if-no-files-found: error
229 timeout-minutes: 60
230 bundle_linux_x86_64:
231 needs:
232 - run_tests_linux
233 - check_scripts
234 runs-on: namespace-profile-32x64-ubuntu-2004
235 env:
236 CARGO_INCREMENTAL: 0
237 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
238 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
239 steps:
240 - name: steps::checkout_repo
241 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
242 with:
243 clean: false
244 - name: steps::setup_sentry
245 uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
246 with:
247 token: ${{ secrets.SENTRY_AUTH_TOKEN }}
248 - name: steps::setup_linux
249 run: ./script/linux
250 shell: bash -euxo pipefail {0}
251 - name: steps::install_mold
252 run: ./script/install-mold
253 shell: bash -euxo pipefail {0}
254 - name: steps::download_wasi_sdk
255 run: ./script/download-wasi-sdk
256 shell: bash -euxo pipefail {0}
257 - name: ./script/bundle-linux
258 run: ./script/bundle-linux
259 shell: bash -euxo pipefail {0}
260 - name: '@actions/upload-artifact zed-linux-x86_64.tar.gz'
261 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
262 with:
263 name: zed-linux-x86_64.tar.gz
264 path: target/release/zed-linux-x86_64.tar.gz
265 if-no-files-found: error
266 - name: '@actions/upload-artifact zed-remote-server-linux-x86_64.gz'
267 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
268 with:
269 name: zed-remote-server-linux-x86_64.gz
270 path: target/zed-remote-server-linux-x86_64.gz
271 if-no-files-found: error
272 timeout-minutes: 60
273 bundle_mac_aarch64:
274 needs:
275 - run_tests_mac
276 - check_scripts
277 runs-on: self-mini-macos
278 env:
279 CARGO_INCREMENTAL: 0
280 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
281 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
282 MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
283 MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
284 APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
285 APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
286 APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
287 steps:
288 - name: steps::checkout_repo
289 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
290 with:
291 clean: false
292 - name: steps::setup_node
293 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
294 with:
295 node-version: '20'
296 - name: steps::setup_sentry
297 uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
298 with:
299 token: ${{ secrets.SENTRY_AUTH_TOKEN }}
300 - name: steps::clear_target_dir_if_large
301 run: ./script/clear-target-dir-if-larger-than 300
302 shell: bash -euxo pipefail {0}
303 - name: run_bundling::bundle_mac::bundle_mac
304 run: ./script/bundle-mac aarch64-apple-darwin
305 shell: bash -euxo pipefail {0}
306 - name: '@actions/upload-artifact Zed-aarch64.dmg'
307 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
308 with:
309 name: Zed-aarch64.dmg
310 path: target/aarch64-apple-darwin/release/Zed-aarch64.dmg
311 if-no-files-found: error
312 - name: '@actions/upload-artifact zed-remote-server-macos-aarch64.gz'
313 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
314 with:
315 name: zed-remote-server-macos-aarch64.gz
316 path: target/zed-remote-server-macos-aarch64.gz
317 if-no-files-found: error
318 timeout-minutes: 60
319 bundle_mac_x86_64:
320 needs:
321 - run_tests_mac
322 - check_scripts
323 runs-on: self-mini-macos
324 env:
325 CARGO_INCREMENTAL: 0
326 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
327 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
328 MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
329 MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
330 APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
331 APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
332 APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
333 steps:
334 - name: steps::checkout_repo
335 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
336 with:
337 clean: false
338 - name: steps::setup_node
339 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
340 with:
341 node-version: '20'
342 - name: steps::setup_sentry
343 uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
344 with:
345 token: ${{ secrets.SENTRY_AUTH_TOKEN }}
346 - name: steps::clear_target_dir_if_large
347 run: ./script/clear-target-dir-if-larger-than 300
348 shell: bash -euxo pipefail {0}
349 - name: run_bundling::bundle_mac::bundle_mac
350 run: ./script/bundle-mac x86_64-apple-darwin
351 shell: bash -euxo pipefail {0}
352 - name: '@actions/upload-artifact Zed-x86_64.dmg'
353 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
354 with:
355 name: Zed-x86_64.dmg
356 path: target/x86_64-apple-darwin/release/Zed-x86_64.dmg
357 if-no-files-found: error
358 - name: '@actions/upload-artifact zed-remote-server-macos-x86_64.gz'
359 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
360 with:
361 name: zed-remote-server-macos-x86_64.gz
362 path: target/zed-remote-server-macos-x86_64.gz
363 if-no-files-found: error
364 timeout-minutes: 60
365 bundle_windows_aarch64:
366 needs:
367 - run_tests_windows
368 - check_scripts
369 runs-on: self-32vcpu-windows-2022
370 env:
371 CARGO_INCREMENTAL: 0
372 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
373 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
374 AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
375 AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
376 AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
377 ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
378 CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
379 ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
380 FILE_DIGEST: SHA256
381 TIMESTAMP_DIGEST: SHA256
382 TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
383 steps:
384 - name: steps::checkout_repo
385 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
386 with:
387 clean: false
388 - name: steps::setup_sentry
389 uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
390 with:
391 token: ${{ secrets.SENTRY_AUTH_TOKEN }}
392 - name: run_bundling::bundle_windows::bundle_windows
393 run: script/bundle-windows.ps1 -Architecture aarch64
394 shell: pwsh
395 working-directory: ${{ env.ZED_WORKSPACE }}
396 - name: '@actions/upload-artifact Zed-aarch64.exe'
397 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
398 with:
399 name: Zed-aarch64.exe
400 path: target/Zed-aarch64.exe
401 if-no-files-found: error
402 timeout-minutes: 60
403 bundle_windows_x86_64:
404 needs:
405 - run_tests_windows
406 - check_scripts
407 runs-on: self-32vcpu-windows-2022
408 env:
409 CARGO_INCREMENTAL: 0
410 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
411 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
412 AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
413 AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
414 AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
415 ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
416 CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
417 ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
418 FILE_DIGEST: SHA256
419 TIMESTAMP_DIGEST: SHA256
420 TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
421 steps:
422 - name: steps::checkout_repo
423 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
424 with:
425 clean: false
426 - name: steps::setup_sentry
427 uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
428 with:
429 token: ${{ secrets.SENTRY_AUTH_TOKEN }}
430 - name: run_bundling::bundle_windows::bundle_windows
431 run: script/bundle-windows.ps1 -Architecture x86_64
432 shell: pwsh
433 working-directory: ${{ env.ZED_WORKSPACE }}
434 - name: '@actions/upload-artifact Zed-x86_64.exe'
435 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
436 with:
437 name: Zed-x86_64.exe
438 path: target/Zed-x86_64.exe
439 if-no-files-found: error
440 timeout-minutes: 60
441 upload_release_assets:
442 needs:
443 - create_draft_release
444 - bundle_linux_aarch64
445 - bundle_linux_x86_64
446 - bundle_mac_aarch64
447 - bundle_mac_x86_64
448 - bundle_windows_aarch64
449 - bundle_windows_x86_64
450 runs-on: namespace-profile-4x8-ubuntu-2204
451 steps:
452 - name: release::download_workflow_artifacts
453 uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53
454 with:
455 path: ./artifacts/
456 - name: ls -lR ./artifacts
457 run: ls -lR ./artifacts
458 shell: bash -euxo pipefail {0}
459 - name: release::prep_release_artifacts
460 run: |-
461 mkdir -p release-artifacts/
462
463 mv ./artifacts/Zed-aarch64.dmg/Zed-aarch64.dmg release-artifacts/Zed-aarch64.dmg
464 mv ./artifacts/Zed-x86_64.dmg/Zed-x86_64.dmg release-artifacts/Zed-x86_64.dmg
465 mv ./artifacts/zed-linux-aarch64.tar.gz/zed-linux-aarch64.tar.gz release-artifacts/zed-linux-aarch64.tar.gz
466 mv ./artifacts/zed-linux-x86_64.tar.gz/zed-linux-x86_64.tar.gz release-artifacts/zed-linux-x86_64.tar.gz
467 mv ./artifacts/Zed-x86_64.exe/Zed-x86_64.exe release-artifacts/Zed-x86_64.exe
468 mv ./artifacts/Zed-aarch64.exe/Zed-aarch64.exe release-artifacts/Zed-aarch64.exe
469 mv ./artifacts/zed-remote-server-macos-aarch64.gz/zed-remote-server-macos-aarch64.gz release-artifacts/zed-remote-server-macos-aarch64.gz
470 mv ./artifacts/zed-remote-server-macos-x86_64.gz/zed-remote-server-macos-x86_64.gz release-artifacts/zed-remote-server-macos-x86_64.gz
471 mv ./artifacts/zed-remote-server-linux-aarch64.gz/zed-remote-server-linux-aarch64.gz release-artifacts/zed-remote-server-linux-aarch64.gz
472 mv ./artifacts/zed-remote-server-linux-x86_64.gz/zed-remote-server-linux-x86_64.gz release-artifacts/zed-remote-server-linux-x86_64.gz
473 shell: bash -euxo pipefail {0}
474 - name: gh release upload "$GITHUB_REF_NAME" --repo=zed-industries/zed release-artifacts/*
475 run: gh release upload "$GITHUB_REF_NAME" --repo=zed-industries/zed release-artifacts/*
476 shell: bash -euxo pipefail {0}
477 env:
478 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
479 auto_release_preview:
480 needs:
481 - upload_release_assets
482 if: startsWith(github.ref, 'refs/tags/v') && endsWith(github.ref, '-pre') && !endsWith(github.ref, '.0-pre')
483 runs-on: namespace-profile-2x4-ubuntu-2404
484 steps:
485 - id: get-app-token
486 name: steps::authenticate_as_zippy
487 uses: actions/create-github-app-token@bef1eaf1c0ac2b148ee2a0a74c65fbe6db0631f1
488 with:
489 app-id: ${{ secrets.ZED_ZIPPY_APP_ID }}
490 private-key: ${{ secrets.ZED_ZIPPY_APP_PRIVATE_KEY }}
491 - name: gh release edit "$GITHUB_REF_NAME" --repo=zed-industries/zed --draft=false
492 run: gh release edit "$GITHUB_REF_NAME" --repo=zed-industries/zed --draft=false
493 shell: bash -euxo pipefail {0}
494 env:
495 GITHUB_TOKEN: ${{ steps.get-app-token.outputs.token }}
496 notify_on_failure:
497 needs:
498 - upload_release_assets
499 - auto_release_preview
500 if: failure()
501 runs-on: namespace-profile-2x4-ubuntu-2404
502 steps:
503 - name: release::notify_on_failure::notify_slack
504 run: |-
505 curl -X POST -H 'Content-type: application/json'\
506 --data '{"text":"${{ github.workflow }} failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"}' "$SLACK_WEBHOOK"
507 shell: bash -euxo pipefail {0}
508 env:
509 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_WORKFLOW_FAILURES }}
510concurrency:
511 group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }}
512 cancel-in-progress: true