release_nightly.yml

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