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