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