1# Generated from xtask::workflows::release_nightly
2# Rebuild with `cargo xtask workflows`.
3name: release_nightly
4env:
5 CARGO_TERM_COLOR: always
6 RUST_BACKTRACE: '1'
7on:
8 push:
9 tags:
10 - nightly
11 schedule:
12 - cron: 0 7 * * *
13jobs:
14 check_style:
15 if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
16 runs-on: namespace-profile-mac-large
17 steps:
18 - name: steps::checkout_repo
19 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
20 with:
21 clean: false
22 fetch-depth: 0
23 - name: steps::cargo_fmt
24 run: cargo fmt --all -- --check
25 - name: ./script/clippy
26 run: ./script/clippy
27 timeout-minutes: 60
28 run_tests_windows:
29 if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
30 runs-on: self-32vcpu-windows-2022
31 steps:
32 - name: steps::checkout_repo
33 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
34 with:
35 clean: false
36 - name: steps::setup_cargo_config
37 run: |
38 New-Item -ItemType Directory -Path "./../.cargo" -Force
39 Copy-Item -Path "./.cargo/ci-config.toml" -Destination "./../.cargo/config.toml"
40 shell: pwsh
41 - name: steps::setup_node
42 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
43 with:
44 node-version: '20'
45 - name: steps::clear_target_dir_if_large
46 run: ./script/clear-target-dir-if-larger-than.ps1 250
47 shell: pwsh
48 - name: steps::setup_sccache
49 run: ./script/setup-sccache.ps1
50 shell: pwsh
51 env:
52 R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
53 R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
54 R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
55 SCCACHE_BUCKET: sccache-zed
56 - name: steps::cargo_nextest
57 run: cargo nextest run --workspace --no-fail-fast --no-tests=warn
58 shell: pwsh
59 - name: steps::show_sccache_stats
60 run: if ($env:RUSTC_WRAPPER) { & $env:RUSTC_WRAPPER --show-stats }; exit 0
61 shell: pwsh
62 - name: steps::cleanup_cargo_config
63 if: always()
64 run: |
65 Remove-Item -Recurse -Path "./../.cargo" -Force -ErrorAction SilentlyContinue
66 shell: pwsh
67 timeout-minutes: 60
68 clippy_windows:
69 if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
70 runs-on: self-32vcpu-windows-2022
71 steps:
72 - name: steps::checkout_repo
73 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
74 with:
75 clean: false
76 - name: steps::setup_cargo_config
77 run: |
78 New-Item -ItemType Directory -Path "./../.cargo" -Force
79 Copy-Item -Path "./.cargo/ci-config.toml" -Destination "./../.cargo/config.toml"
80 shell: pwsh
81 - name: steps::setup_sccache
82 run: ./script/setup-sccache.ps1
83 shell: pwsh
84 env:
85 R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
86 R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
87 R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
88 SCCACHE_BUCKET: sccache-zed
89 - name: steps::clippy
90 run: ./script/clippy.ps1
91 shell: pwsh
92 - name: steps::show_sccache_stats
93 run: if ($env:RUSTC_WRAPPER) { & $env:RUSTC_WRAPPER --show-stats }; exit 0
94 shell: pwsh
95 timeout-minutes: 60
96 bundle_linux_aarch64:
97 needs:
98 - check_style
99 - run_tests_windows
100 - clippy_windows
101 runs-on: namespace-profile-8x32-ubuntu-2004-arm-m4
102 env:
103 CARGO_INCREMENTAL: 0
104 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
105 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
106 CC: clang-18
107 CXX: clang++-18
108 steps:
109 - name: steps::checkout_repo
110 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
111 with:
112 clean: false
113 - name: run_bundling::set_release_channel_to_nightly
114 run: |
115 set -eu
116 version=$(git rev-parse --short HEAD)
117 echo "Publishing version: ${version} on release channel nightly"
118 echo "nightly" > crates/zed/RELEASE_CHANNEL
119 - name: steps::setup_sentry
120 uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
121 with:
122 token: ${{ secrets.SENTRY_AUTH_TOKEN }}
123 - name: steps::setup_linux
124 run: ./script/linux
125 - name: steps::install_mold
126 run: ./script/install-mold
127 - name: steps::download_wasi_sdk
128 run: ./script/download-wasi-sdk
129 - name: ./script/bundle-linux
130 run: ./script/bundle-linux
131 - name: '@actions/upload-artifact zed-linux-aarch64.tar.gz'
132 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
133 with:
134 name: zed-linux-aarch64.tar.gz
135 path: target/release/zed-linux-aarch64.tar.gz
136 if-no-files-found: error
137 - name: '@actions/upload-artifact zed-remote-server-linux-aarch64.gz'
138 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
139 with:
140 name: zed-remote-server-linux-aarch64.gz
141 path: target/zed-remote-server-linux-aarch64.gz
142 if-no-files-found: error
143 timeout-minutes: 60
144 bundle_linux_x86_64:
145 needs:
146 - check_style
147 - run_tests_windows
148 - clippy_windows
149 runs-on: namespace-profile-32x64-ubuntu-2004
150 env:
151 CARGO_INCREMENTAL: 0
152 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
153 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
154 CC: clang-18
155 CXX: clang++-18
156 steps:
157 - name: steps::checkout_repo
158 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
159 with:
160 clean: false
161 - name: run_bundling::set_release_channel_to_nightly
162 run: |
163 set -eu
164 version=$(git rev-parse --short HEAD)
165 echo "Publishing version: ${version} on release channel nightly"
166 echo "nightly" > crates/zed/RELEASE_CHANNEL
167 - name: steps::setup_sentry
168 uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
169 with:
170 token: ${{ secrets.SENTRY_AUTH_TOKEN }}
171 - name: steps::setup_linux
172 run: ./script/linux
173 - name: steps::install_mold
174 run: ./script/install-mold
175 - name: steps::download_wasi_sdk
176 run: ./script/download-wasi-sdk
177 - name: ./script/bundle-linux
178 run: ./script/bundle-linux
179 - name: '@actions/upload-artifact zed-linux-x86_64.tar.gz'
180 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
181 with:
182 name: zed-linux-x86_64.tar.gz
183 path: target/release/zed-linux-x86_64.tar.gz
184 if-no-files-found: error
185 - name: '@actions/upload-artifact zed-remote-server-linux-x86_64.gz'
186 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
187 with:
188 name: zed-remote-server-linux-x86_64.gz
189 path: target/zed-remote-server-linux-x86_64.gz
190 if-no-files-found: error
191 timeout-minutes: 60
192 bundle_mac_aarch64:
193 needs:
194 - check_style
195 - run_tests_windows
196 - clippy_windows
197 runs-on: namespace-profile-mac-large
198 env:
199 CARGO_INCREMENTAL: 0
200 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
201 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
202 MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
203 MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
204 APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
205 APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
206 APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
207 steps:
208 - name: steps::checkout_repo
209 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
210 with:
211 clean: false
212 - name: run_bundling::set_release_channel_to_nightly
213 run: |
214 set -eu
215 version=$(git rev-parse --short HEAD)
216 echo "Publishing version: ${version} on release channel nightly"
217 echo "nightly" > crates/zed/RELEASE_CHANNEL
218 - name: steps::setup_node
219 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
220 with:
221 node-version: '20'
222 - name: steps::setup_sentry
223 uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
224 with:
225 token: ${{ secrets.SENTRY_AUTH_TOKEN }}
226 - name: steps::clear_target_dir_if_large
227 run: ./script/clear-target-dir-if-larger-than 300
228 - name: run_bundling::bundle_mac::bundle_mac
229 run: ./script/bundle-mac aarch64-apple-darwin
230 - name: '@actions/upload-artifact Zed-aarch64.dmg'
231 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
232 with:
233 name: Zed-aarch64.dmg
234 path: target/aarch64-apple-darwin/release/Zed-aarch64.dmg
235 if-no-files-found: error
236 - name: '@actions/upload-artifact zed-remote-server-macos-aarch64.gz'
237 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
238 with:
239 name: zed-remote-server-macos-aarch64.gz
240 path: target/zed-remote-server-macos-aarch64.gz
241 if-no-files-found: error
242 timeout-minutes: 60
243 bundle_mac_x86_64:
244 needs:
245 - check_style
246 - run_tests_windows
247 - clippy_windows
248 runs-on: namespace-profile-mac-large
249 env:
250 CARGO_INCREMENTAL: 0
251 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
252 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
253 MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
254 MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
255 APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
256 APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
257 APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
258 steps:
259 - name: steps::checkout_repo
260 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
261 with:
262 clean: false
263 - name: run_bundling::set_release_channel_to_nightly
264 run: |
265 set -eu
266 version=$(git rev-parse --short HEAD)
267 echo "Publishing version: ${version} on release channel nightly"
268 echo "nightly" > crates/zed/RELEASE_CHANNEL
269 - name: steps::setup_node
270 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
271 with:
272 node-version: '20'
273 - name: steps::setup_sentry
274 uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
275 with:
276 token: ${{ secrets.SENTRY_AUTH_TOKEN }}
277 - name: steps::clear_target_dir_if_large
278 run: ./script/clear-target-dir-if-larger-than 300
279 - name: run_bundling::bundle_mac::bundle_mac
280 run: ./script/bundle-mac x86_64-apple-darwin
281 - name: '@actions/upload-artifact Zed-x86_64.dmg'
282 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
283 with:
284 name: Zed-x86_64.dmg
285 path: target/x86_64-apple-darwin/release/Zed-x86_64.dmg
286 if-no-files-found: error
287 - name: '@actions/upload-artifact zed-remote-server-macos-x86_64.gz'
288 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
289 with:
290 name: zed-remote-server-macos-x86_64.gz
291 path: target/zed-remote-server-macos-x86_64.gz
292 if-no-files-found: error
293 timeout-minutes: 60
294 bundle_windows_aarch64:
295 needs:
296 - check_style
297 - run_tests_windows
298 - clippy_windows
299 runs-on: self-32vcpu-windows-2022
300 env:
301 CARGO_INCREMENTAL: 0
302 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
303 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
304 AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
305 AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
306 AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
307 ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
308 CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
309 ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
310 FILE_DIGEST: SHA256
311 TIMESTAMP_DIGEST: SHA256
312 TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
313 steps:
314 - name: steps::checkout_repo
315 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
316 with:
317 clean: false
318 - name: run_bundling::set_release_channel_to_nightly
319 run: |
320 $ErrorActionPreference = "Stop"
321 $version = git rev-parse --short HEAD
322 Write-Host "Publishing version: $version on release channel nightly"
323 "nightly" | Set-Content -Path "crates/zed/RELEASE_CHANNEL"
324 shell: pwsh
325 working-directory: ${{ env.ZED_WORKSPACE }}
326 - name: steps::setup_sentry
327 uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
328 with:
329 token: ${{ secrets.SENTRY_AUTH_TOKEN }}
330 - name: run_bundling::bundle_windows::bundle_windows
331 run: script/bundle-windows.ps1 -Architecture aarch64
332 shell: pwsh
333 working-directory: ${{ env.ZED_WORKSPACE }}
334 - name: '@actions/upload-artifact Zed-aarch64.exe'
335 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
336 with:
337 name: Zed-aarch64.exe
338 path: target/Zed-aarch64.exe
339 if-no-files-found: error
340 - name: '@actions/upload-artifact zed-remote-server-windows-aarch64.zip'
341 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
342 with:
343 name: zed-remote-server-windows-aarch64.zip
344 path: target/zed-remote-server-windows-aarch64.zip
345 if-no-files-found: error
346 timeout-minutes: 60
347 bundle_windows_x86_64:
348 needs:
349 - check_style
350 - run_tests_windows
351 - clippy_windows
352 runs-on: self-32vcpu-windows-2022
353 env:
354 CARGO_INCREMENTAL: 0
355 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
356 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
357 AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
358 AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
359 AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
360 ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
361 CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
362 ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
363 FILE_DIGEST: SHA256
364 TIMESTAMP_DIGEST: SHA256
365 TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
366 steps:
367 - name: steps::checkout_repo
368 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
369 with:
370 clean: false
371 - name: run_bundling::set_release_channel_to_nightly
372 run: |
373 $ErrorActionPreference = "Stop"
374 $version = git rev-parse --short HEAD
375 Write-Host "Publishing version: $version on release channel nightly"
376 "nightly" | Set-Content -Path "crates/zed/RELEASE_CHANNEL"
377 shell: pwsh
378 working-directory: ${{ env.ZED_WORKSPACE }}
379 - name: steps::setup_sentry
380 uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
381 with:
382 token: ${{ secrets.SENTRY_AUTH_TOKEN }}
383 - name: run_bundling::bundle_windows::bundle_windows
384 run: script/bundle-windows.ps1 -Architecture x86_64
385 shell: pwsh
386 working-directory: ${{ env.ZED_WORKSPACE }}
387 - name: '@actions/upload-artifact Zed-x86_64.exe'
388 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
389 with:
390 name: Zed-x86_64.exe
391 path: target/Zed-x86_64.exe
392 if-no-files-found: error
393 - name: '@actions/upload-artifact zed-remote-server-windows-x86_64.zip'
394 uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
395 with:
396 name: zed-remote-server-windows-x86_64.zip
397 path: target/zed-remote-server-windows-x86_64.zip
398 if-no-files-found: error
399 timeout-minutes: 60
400 build_nix_linux_x86_64:
401 needs:
402 - check_style
403 - run_tests_windows
404 if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
405 runs-on: namespace-profile-32x64-ubuntu-2004
406 env:
407 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
408 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
409 ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON: ${{ secrets.ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON }}
410 GIT_LFS_SKIP_SMUDGE: '1'
411 steps:
412 - name: steps::checkout_repo
413 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
414 with:
415 clean: false
416 - name: steps::cache_nix_dependencies_namespace
417 uses: namespacelabs/nscloud-cache-action@v1
418 with:
419 cache: nix
420 - name: nix_build::build_nix::install_nix
421 uses: cachix/install-nix-action@02a151ada4993995686f9ed4f1be7cfbb229e56f
422 with:
423 github_access_token: ${{ secrets.GITHUB_TOKEN }}
424 - name: nix_build::build_nix::cachix_action
425 uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
426 with:
427 name: zed
428 authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
429 cachixArgs: -v
430 - name: nix_build::build_nix::build
431 run: nix build .#default -L --accept-flake-config
432 timeout-minutes: 60
433 continue-on-error: true
434 build_nix_mac_aarch64:
435 needs:
436 - check_style
437 - run_tests_windows
438 if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
439 runs-on: namespace-profile-mac-large
440 env:
441 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
442 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
443 ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON: ${{ secrets.ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON }}
444 GIT_LFS_SKIP_SMUDGE: '1'
445 steps:
446 - name: steps::checkout_repo
447 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
448 with:
449 clean: false
450 - name: steps::cache_nix_store_macos
451 uses: namespacelabs/nscloud-cache-action@v1
452 with:
453 path: ~/nix-cache
454 - name: nix_build::build_nix::install_nix
455 uses: cachix/install-nix-action@02a151ada4993995686f9ed4f1be7cfbb229e56f
456 with:
457 github_access_token: ${{ secrets.GITHUB_TOKEN }}
458 - name: nix_build::build_nix::configure_local_nix_cache
459 run: |
460 mkdir -p ~/nix-cache
461 echo "extra-substituters = file://$HOME/nix-cache?priority=10" | sudo tee -a /etc/nix/nix.conf
462 echo "require-sigs = false" | sudo tee -a /etc/nix/nix.conf
463 sudo launchctl kickstart -k system/org.nixos.nix-daemon
464 - name: nix_build::build_nix::cachix_action
465 uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
466 with:
467 name: zed
468 authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
469 cachixArgs: -v
470 - name: nix_build::build_nix::build
471 run: nix build .#default -L --accept-flake-config
472 - name: nix_build::build_nix::export_to_local_nix_cache
473 if: always()
474 run: |
475 if [ -L result ]; then
476 echo "Copying build closure to local binary cache..."
477 nix copy --to "file://$HOME/nix-cache" ./result || echo "Warning: nix copy to local cache failed"
478 else
479 echo "No build result found, skipping cache export."
480 fi
481 timeout-minutes: 60
482 continue-on-error: true
483 update_nightly_tag:
484 needs:
485 - bundle_linux_aarch64
486 - bundle_linux_x86_64
487 - bundle_mac_aarch64
488 - bundle_mac_x86_64
489 - bundle_windows_aarch64
490 - bundle_windows_x86_64
491 if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
492 runs-on: namespace-profile-4x8-ubuntu-2204
493 steps:
494 - name: steps::checkout_repo
495 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
496 with:
497 clean: false
498 fetch-depth: 0
499 - name: release::download_workflow_artifacts
500 uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53
501 with:
502 path: ./artifacts/
503 - name: ls -lR ./artifacts
504 run: ls -lR ./artifacts
505 - name: release::prep_release_artifacts
506 run: |-
507 mkdir -p release-artifacts/
508
509 mv ./artifacts/Zed-aarch64.dmg/Zed-aarch64.dmg release-artifacts/Zed-aarch64.dmg
510 mv ./artifacts/Zed-x86_64.dmg/Zed-x86_64.dmg release-artifacts/Zed-x86_64.dmg
511 mv ./artifacts/zed-linux-aarch64.tar.gz/zed-linux-aarch64.tar.gz release-artifacts/zed-linux-aarch64.tar.gz
512 mv ./artifacts/zed-linux-x86_64.tar.gz/zed-linux-x86_64.tar.gz release-artifacts/zed-linux-x86_64.tar.gz
513 mv ./artifacts/Zed-x86_64.exe/Zed-x86_64.exe release-artifacts/Zed-x86_64.exe
514 mv ./artifacts/Zed-aarch64.exe/Zed-aarch64.exe release-artifacts/Zed-aarch64.exe
515 mv ./artifacts/zed-remote-server-macos-aarch64.gz/zed-remote-server-macos-aarch64.gz release-artifacts/zed-remote-server-macos-aarch64.gz
516 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
517 mv ./artifacts/zed-remote-server-linux-aarch64.gz/zed-remote-server-linux-aarch64.gz release-artifacts/zed-remote-server-linux-aarch64.gz
518 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
519 mv ./artifacts/zed-remote-server-windows-aarch64.zip/zed-remote-server-windows-aarch64.zip release-artifacts/zed-remote-server-windows-aarch64.zip
520 mv ./artifacts/zed-remote-server-windows-x86_64.zip/zed-remote-server-windows-x86_64.zip release-artifacts/zed-remote-server-windows-x86_64.zip
521 - name: ./script/upload-nightly
522 run: ./script/upload-nightly
523 env:
524 DIGITALOCEAN_SPACES_ACCESS_KEY: ${{ secrets.DIGITALOCEAN_SPACES_ACCESS_KEY }}
525 DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }}
526 - name: release_nightly::update_nightly_tag_job::update_nightly_tag
527 run: |
528 if [ "$(git rev-parse nightly)" = "$(git rev-parse HEAD)" ]; then
529 echo "Nightly tag already points to current commit. Skipping tagging."
530 exit 0
531 fi
532 git config user.name github-actions
533 git config user.email github-actions@github.com
534 git tag -f nightly
535 git push origin nightly --force
536 - name: release::create_sentry_release
537 uses: getsentry/action-release@526942b68292201ac6bbb99b9a0747d4abee354c
538 with:
539 environment: production
540 env:
541 SENTRY_ORG: zed-dev
542 SENTRY_PROJECT: zed
543 SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
544 timeout-minutes: 60
545 notify_on_failure:
546 needs:
547 - bundle_linux_aarch64
548 - bundle_linux_x86_64
549 - bundle_mac_aarch64
550 - bundle_mac_x86_64
551 - bundle_windows_aarch64
552 - bundle_windows_x86_64
553 if: failure()
554 runs-on: namespace-profile-2x4-ubuntu-2404
555 steps:
556 - name: release::send_slack_message
557 run: 'curl -X POST -H ''Content-type: application/json'' --data "$(jq -n --arg text "$SLACK_MESSAGE" ''{"text": $text}'')" "$SLACK_WEBHOOK"'
558 env:
559 SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_WORKFLOW_FAILURES }}
560 SLACK_MESSAGE: '❌ ${{ github.workflow }} failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}'
561defaults:
562 run:
563 shell: bash -euxo pipefail {0}