Skip to repository content

tenant.openagents/omega

No repository description is available.

OpenAgents Git authority 2026-07-28T01:39:37.400Z Public web read
NIP-34 coordinate30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omega
MaintainersHidden in public view
References2 branches · 1 tag
Read-only clonegit clone https://openagents.com/git/tenant.openagents/omega.git
Browse files

release_nightly.yml

664 lines · 27.3 KB · yaml
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  schedule:
9  - cron: 0 */4 * * *
10  workflow_dispatch: {}
11permissions:
12  contents: read
13jobs:
14  check_nightly_tag:
15    if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
16    runs-on: namespace-profile-2x4-ubuntu-2404
17    steps:
18    - name: steps::checkout_repo
19      uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
20      with:
21        clean: false
22        fetch-tags: true
23    - id: check
24      name: release_nightly::check_nightly_tag
25      run: |
26        NIGHTLY_SHA=$(git rev-parse "nightly" 2>/dev/null || echo "")
27        if [ "$NIGHTLY_SHA" = "$GITHUB_SHA" ]; then
28            echo "Nightly tag already points to current commit. Skipping."
29            echo "skip=true" >> "$GITHUB_OUTPUT"
30        else
31            echo "skip=false" >> "$GITHUB_OUTPUT"
32        fi
33    outputs:
34      skip: ${{ steps.check.outputs.skip }}
35    timeout-minutes: 5
36  run_tests_linux:
37    needs:
38    - check_nightly_tag
39    if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions') && needs.check_nightly_tag.outputs.skip != 'true'
40    runs-on: namespace-profile-16x32-ubuntu-2204
41    env:
42      CC: clang
43      CXX: clang++
44    steps:
45    - name: steps::checkout_repo
46      uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
47      with:
48        clean: false
49    - name: steps::setup_cargo_config
50      run: |
51        mkdir -p ./../.cargo
52        cp ./.cargo/ci-config.toml ./../.cargo/config.toml
53    - name: steps::cache_rust_dependencies_namespace
54      uses: namespacelabs/nscloud-cache-action@a90bb5d4b27522ce881c6e98eebd7d7e6d1653f9
55      with:
56        cache: rust
57        path: ~/.rustup
58    - name: steps::setup_linux
59      run: ./script/linux
60    - name: steps::download_wasi_sdk
61      run: ./script/download-wasi-sdk
62    - name: steps::setup_node
63      uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
64      with:
65        node-version: '24'
66        check-latest: true
67        package-manager-cache: false
68    - name: steps::cargo_install_nextest
69      uses: taiki-e/install-action@a6b2e2dcd845ddd7f509ce4f3ed3d922b80cc5d9
70      with:
71        tool: nextest
72    - name: steps::clear_target_dir_if_large
73      run: ./script/clear-target-dir-if-larger-than 350 200
74    - name: steps::setup_sccache
75      run: ./script/setup-sccache
76      env:
77        R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
78        R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
79        R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
80        SCCACHE_BUCKET: sccache-zed
81    - name: steps::cargo_nextest
82      run: cargo nextest run --workspace --no-fail-fast --no-tests=warn
83    - name: steps::show_sccache_stats
84      run: sccache --show-stats || true
85    - name: steps::cleanup_cargo_config
86      if: always()
87      run: |
88        rm -rf ./../.cargo
89    timeout-minutes: 60
90    services:
91      postgres:
92        image: postgres:15@sha256:1b92e7a80c021647bf70f5d3eb66066a998e4f5cf43c07bb9dc9f729782cf88e
93        env:
94          POSTGRES_HOST_AUTH_METHOD: trust
95        ports:
96        - 5432:5432
97        options: --health-cmd pg_isready --health-interval 500ms --health-timeout 5s --health-retries 10
98  bundle_linux_aarch64:
99    needs:
100    - run_tests_linux
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@93cb6efe18208431cddfb8368fd83d5badbf9bfd
111      with:
112        clean: false
113    - name: steps::cache_rust_dependencies_namespace
114      uses: namespacelabs/nscloud-cache-action@a90bb5d4b27522ce881c6e98eebd7d7e6d1653f9
115      with:
116        cache: rust
117        path: ~/.rustup
118    - name: run_bundling::set_release_channel_to_nightly
119      run: |
120        set -eu
121        version=$(git rev-parse --short HEAD)
122        echo "Publishing version: ${version} on release channel nightly"
123        echo "nightly" > crates/zed/RELEASE_CHANNEL
124    - name: steps::setup_sentry
125      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
126      with:
127        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
128    - name: steps::setup_linux
129      run: ./script/linux
130    - name: steps::download_wasi_sdk
131      run: ./script/download-wasi-sdk
132    - name: ./script/bundle-linux
133      run: ./script/bundle-linux
134    - name: run_bundling::upload_artifact
135      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
136      with:
137        name: zed-linux-aarch64.tar.gz
138        path: target/release/zed-linux-aarch64.tar.gz
139        if-no-files-found: error
140    - name: run_bundling::upload_artifact
141      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
142      with:
143        name: zed-remote-server-linux-aarch64.gz
144        path: target/zed-remote-server-linux-aarch64.gz
145        if-no-files-found: error
146    timeout-minutes: 60
147  bundle_linux_x86_64:
148    needs:
149    - run_tests_linux
150    runs-on: namespace-profile-32x64-ubuntu-2004
151    env:
152      CARGO_INCREMENTAL: 0
153      ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
154      ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
155      CC: clang-18
156      CXX: clang++-18
157    steps:
158    - name: steps::checkout_repo
159      uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
160      with:
161        clean: false
162    - name: steps::cache_rust_dependencies_namespace
163      uses: namespacelabs/nscloud-cache-action@a90bb5d4b27522ce881c6e98eebd7d7e6d1653f9
164      with:
165        cache: rust
166        path: ~/.rustup
167    - name: run_bundling::set_release_channel_to_nightly
168      run: |
169        set -eu
170        version=$(git rev-parse --short HEAD)
171        echo "Publishing version: ${version} on release channel nightly"
172        echo "nightly" > crates/zed/RELEASE_CHANNEL
173    - name: steps::setup_sentry
174      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
175      with:
176        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
177    - name: steps::setup_linux
178      run: ./script/linux
179    - name: steps::download_wasi_sdk
180      run: ./script/download-wasi-sdk
181    - name: ./script/bundle-linux
182      run: ./script/bundle-linux
183    - name: run_bundling::upload_artifact
184      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
185      with:
186        name: zed-linux-x86_64.tar.gz
187        path: target/release/zed-linux-x86_64.tar.gz
188        if-no-files-found: error
189    - name: run_bundling::upload_artifact
190      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
191      with:
192        name: zed-remote-server-linux-x86_64.gz
193        path: target/zed-remote-server-linux-x86_64.gz
194        if-no-files-found: error
195    timeout-minutes: 60
196  build_static_bwrap_linux_aarch64:
197    needs:
198    - run_tests_linux
199    runs-on: namespace-profile-8x32-ubuntu-2004-arm-m4
200    steps:
201    - name: steps::cache_nix_dependencies_namespace
202      uses: namespacelabs/nscloud-cache-action@a90bb5d4b27522ce881c6e98eebd7d7e6d1653f9
203      with:
204        cache: nix
205    - name: run_bundling::build_static_bwrap
206      uses: cachix/install-nix-action@02a151ada4993995686f9ed4f1be7cfbb229e56f
207      with:
208        github_access_token: ${{ secrets.GITHUB_TOKEN }}
209    - name: run_bundling::build_static_bwrap
210      uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
211      with:
212        name: zed
213        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
214        cachixArgs: -v
215    - name: run_bundling::build_static_bwrap
216      run: nix build nixpkgs#pkgsStatic.bubblewrap -L
217    - name: run_bundling::build_static_bwrap
218      run: |
219        cp result/bin/bwrap bwrap-linux-aarch64
220        chmod 755 bwrap-linux-aarch64
221        gzip -f --stdout --best bwrap-linux-aarch64 > bwrap-linux-aarch64.gz
222    - name: run_bundling::upload_artifact
223      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
224      with:
225        name: bwrap-linux-aarch64.gz
226        path: bwrap-linux-aarch64.gz
227        if-no-files-found: error
228    timeout-minutes: 60
229  build_static_bwrap_linux_x86_64:
230    needs:
231    - run_tests_linux
232    runs-on: namespace-profile-32x64-ubuntu-2004
233    steps:
234    - name: steps::cache_nix_dependencies_namespace
235      uses: namespacelabs/nscloud-cache-action@a90bb5d4b27522ce881c6e98eebd7d7e6d1653f9
236      with:
237        cache: nix
238    - name: run_bundling::build_static_bwrap
239      uses: cachix/install-nix-action@02a151ada4993995686f9ed4f1be7cfbb229e56f
240      with:
241        github_access_token: ${{ secrets.GITHUB_TOKEN }}
242    - name: run_bundling::build_static_bwrap
243      uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
244      with:
245        name: zed
246        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
247        cachixArgs: -v
248    - name: run_bundling::build_static_bwrap
249      run: nix build nixpkgs#pkgsStatic.bubblewrap -L
250    - name: run_bundling::build_static_bwrap
251      run: |
252        cp result/bin/bwrap bwrap-linux-x86_64
253        chmod 755 bwrap-linux-x86_64
254        gzip -f --stdout --best bwrap-linux-x86_64 > bwrap-linux-x86_64.gz
255    - name: run_bundling::upload_artifact
256      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
257      with:
258        name: bwrap-linux-x86_64.gz
259        path: bwrap-linux-x86_64.gz
260        if-no-files-found: error
261    timeout-minutes: 60
262  bundle_mac_aarch64:
263    needs:
264    - run_tests_linux
265    runs-on: namespace-profile-mac-large
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@93cb6efe18208431cddfb8368fd83d5badbf9bfd
278      with:
279        clean: false
280    - name: steps::cache_rust_dependencies_namespace
281      uses: namespacelabs/nscloud-cache-action@a90bb5d4b27522ce881c6e98eebd7d7e6d1653f9
282      with:
283        cache: rust
284        path: ~/.rustup
285    - name: run_bundling::set_release_channel_to_nightly
286      run: |
287        set -eu
288        version=$(git rev-parse --short HEAD)
289        echo "Publishing version: ${version} on release channel nightly"
290        echo "nightly" > crates/zed/RELEASE_CHANNEL
291    - name: steps::setup_node
292      uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
293      with:
294        node-version: '24'
295        check-latest: true
296        package-manager-cache: false
297    - name: steps::setup_sentry
298      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
299      with:
300        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
301    - name: steps::clear_target_dir_if_large
302      run: ./script/clear-target-dir-if-larger-than 350 200
303    - name: run_bundling::bundle_mac::bundle_mac
304      run: ./script/bundle-mac aarch64-apple-darwin
305    - name: run_bundling::upload_artifact
306      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
307      with:
308        name: Zed-aarch64.dmg
309        path: target/aarch64-apple-darwin/release/Zed-aarch64.dmg
310        if-no-files-found: error
311    - name: run_bundling::upload_artifact
312      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
313      with:
314        name: zed-remote-server-macos-aarch64.gz
315        path: target/zed-remote-server-macos-aarch64.gz
316        if-no-files-found: error
317    timeout-minutes: 60
318  bundle_mac_x86_64:
319    needs:
320    - run_tests_linux
321    runs-on: namespace-profile-mac-large
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      MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
327      MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
328      APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
329      APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
330      APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
331    steps:
332    - name: steps::checkout_repo
333      uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
334      with:
335        clean: false
336    - name: steps::cache_rust_dependencies_namespace
337      uses: namespacelabs/nscloud-cache-action@a90bb5d4b27522ce881c6e98eebd7d7e6d1653f9
338      with:
339        cache: rust
340        path: ~/.rustup
341    - name: run_bundling::set_release_channel_to_nightly
342      run: |
343        set -eu
344        version=$(git rev-parse --short HEAD)
345        echo "Publishing version: ${version} on release channel nightly"
346        echo "nightly" > crates/zed/RELEASE_CHANNEL
347    - name: steps::setup_node
348      uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
349      with:
350        node-version: '24'
351        check-latest: true
352        package-manager-cache: false
353    - name: steps::setup_sentry
354      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
355      with:
356        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
357    - name: steps::clear_target_dir_if_large
358      run: ./script/clear-target-dir-if-larger-than 350 200
359    - name: run_bundling::bundle_mac::bundle_mac
360      run: ./script/bundle-mac x86_64-apple-darwin
361    - name: run_bundling::upload_artifact
362      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
363      with:
364        name: Zed-x86_64.dmg
365        path: target/x86_64-apple-darwin/release/Zed-x86_64.dmg
366        if-no-files-found: error
367    - name: run_bundling::upload_artifact
368      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
369      with:
370        name: zed-remote-server-macos-x86_64.gz
371        path: target/zed-remote-server-macos-x86_64.gz
372        if-no-files-found: error
373    timeout-minutes: 60
374  bundle_windows_aarch64:
375    needs:
376    - run_tests_linux
377    runs-on: self-32vcpu-windows-2022
378    env:
379      CARGO_INCREMENTAL: 0
380      ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
381      ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
382      AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
383      AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
384      AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
385      ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
386      CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
387      ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
388      FILE_DIGEST: SHA256
389      TIMESTAMP_DIGEST: SHA256
390      TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
391    steps:
392    - name: steps::checkout_repo
393      uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
394      with:
395        clean: false
396    - name: run_bundling::set_release_channel_to_nightly
397      run: |
398        $ErrorActionPreference = "Stop"
399        $version = git rev-parse --short HEAD
400        Write-Host "Publishing version: $version on release channel nightly"
401        "nightly" | Set-Content -Path "crates/zed/RELEASE_CHANNEL"
402      shell: pwsh
403      working-directory: ${{ env.ZED_WORKSPACE }}
404    - name: steps::setup_sentry
405      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
406      with:
407        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
408    - name: steps::clear_target_dir_if_large
409      run: ./script/clear-target-dir-if-larger-than.ps1 350 200
410      shell: pwsh
411    - name: run_bundling::bundle_windows::bundle_windows
412      run: script/bundle-windows.ps1 -Architecture aarch64
413      shell: pwsh
414      working-directory: ${{ env.ZED_WORKSPACE }}
415    - name: run_bundling::upload_artifact
416      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
417      with:
418        name: Zed-aarch64.exe
419        path: target/Zed-aarch64.exe
420        if-no-files-found: error
421    - name: run_bundling::upload_artifact
422      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
423      with:
424        name: zed-remote-server-windows-aarch64.zip
425        path: target/zed-remote-server-windows-aarch64.zip
426        if-no-files-found: error
427    timeout-minutes: 60
428  bundle_windows_x86_64:
429    needs:
430    - run_tests_linux
431    runs-on: self-32vcpu-windows-2022
432    env:
433      CARGO_INCREMENTAL: 0
434      ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
435      ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
436      AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
437      AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
438      AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
439      ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
440      CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
441      ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
442      FILE_DIGEST: SHA256
443      TIMESTAMP_DIGEST: SHA256
444      TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
445    steps:
446    - name: steps::checkout_repo
447      uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
448      with:
449        clean: false
450    - name: run_bundling::set_release_channel_to_nightly
451      run: |
452        $ErrorActionPreference = "Stop"
453        $version = git rev-parse --short HEAD
454        Write-Host "Publishing version: $version on release channel nightly"
455        "nightly" | Set-Content -Path "crates/zed/RELEASE_CHANNEL"
456      shell: pwsh
457      working-directory: ${{ env.ZED_WORKSPACE }}
458    - name: steps::setup_sentry
459      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
460      with:
461        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
462    - name: steps::clear_target_dir_if_large
463      run: ./script/clear-target-dir-if-larger-than.ps1 350 200
464      shell: pwsh
465    - name: run_bundling::bundle_windows::bundle_windows
466      run: script/bundle-windows.ps1 -Architecture x86_64
467      shell: pwsh
468      working-directory: ${{ env.ZED_WORKSPACE }}
469    - name: run_bundling::upload_artifact
470      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
471      with:
472        name: Zed-x86_64.exe
473        path: target/Zed-x86_64.exe
474        if-no-files-found: error
475    - name: run_bundling::upload_artifact
476      uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
477      with:
478        name: zed-remote-server-windows-x86_64.zip
479        path: target/zed-remote-server-windows-x86_64.zip
480        if-no-files-found: error
481    timeout-minutes: 60
482  build_nix_linux_x86_64:
483    needs:
484    - run_tests_linux
485    if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
486    runs-on: namespace-profile-32x64-ubuntu-2004
487    env:
488      ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
489      ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
490      ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON: ${{ secrets.ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON }}
491      GIT_LFS_SKIP_SMUDGE: '1'
492    steps:
493    - name: steps::checkout_repo
494      uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
495      with:
496        clean: false
497    - name: steps::cache_nix_dependencies_namespace
498      uses: namespacelabs/nscloud-cache-action@a90bb5d4b27522ce881c6e98eebd7d7e6d1653f9
499      with:
500        cache: nix
501    - name: nix_build::build_nix::install_nix
502      uses: cachix/install-nix-action@02a151ada4993995686f9ed4f1be7cfbb229e56f
503      with:
504        github_access_token: ${{ secrets.GITHUB_TOKEN }}
505    - name: nix_build::build_nix::cachix_action
506      uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
507      with:
508        name: zed
509        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
510        cachixArgs: -v
511    - name: nix_build::build_nix::build
512      run: nix build .#default -L --accept-flake-config
513    timeout-minutes: 60
514    continue-on-error: true
515  build_nix_mac_aarch64:
516    needs:
517    - run_tests_linux
518    if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
519    runs-on: namespace-profile-mac-large
520    env:
521      ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
522      ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
523      ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON: ${{ secrets.ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON }}
524      GIT_LFS_SKIP_SMUDGE: '1'
525    steps:
526    - name: steps::checkout_repo
527      uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
528      with:
529        clean: false
530    - name: steps::cache_nix_store_macos
531      uses: namespacelabs/nscloud-cache-action@a90bb5d4b27522ce881c6e98eebd7d7e6d1653f9
532      with:
533        path: ~/nix-cache
534    - name: nix_build::build_nix::install_nix
535      uses: cachix/install-nix-action@02a151ada4993995686f9ed4f1be7cfbb229e56f
536      with:
537        github_access_token: ${{ secrets.GITHUB_TOKEN }}
538    - name: nix_build::build_nix::configure_local_nix_cache
539      run: |
540        mkdir -p ~/nix-cache
541        echo "extra-substituters = file://$HOME/nix-cache?priority=10" | sudo tee -a /etc/nix/nix.conf
542        echo "require-sigs = false" | sudo tee -a /etc/nix/nix.conf
543        sudo launchctl kickstart -k system/org.nixos.nix-daemon
544    - name: nix_build::build_nix::cachix_action
545      uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
546      with:
547        name: zed
548        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
549        cachixArgs: -v
550    - name: nix_build::build_nix::build
551      run: nix build .#default -L --accept-flake-config
552    - name: nix_build::build_nix::export_to_local_nix_cache
553      if: always()
554      run: |
555        if [ -L result ]; then
556          echo "Copying build closure to local binary cache..."
557          nix copy --to "file://$HOME/nix-cache" ./result || echo "Warning: nix copy to local cache failed"
558        else
559          echo "No build result found, skipping cache export."
560        fi
561    timeout-minutes: 60
562    continue-on-error: true
563  update_nightly_tag:
564    needs:
565    - bundle_linux_aarch64
566    - bundle_linux_x86_64
567    - build_static_bwrap_linux_aarch64
568    - build_static_bwrap_linux_x86_64
569    - bundle_mac_aarch64
570    - bundle_mac_x86_64
571    - bundle_windows_aarch64
572    - bundle_windows_x86_64
573    if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
574    runs-on: namespace-profile-4x8-ubuntu-2204
575    steps:
576    - id: generate-token
577      name: steps::authenticate_as_zippy
578      uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859
579      with:
580        app-id: ${{ secrets.ZED_ZIPPY_APP_ID }}
581        private-key: ${{ secrets.ZED_ZIPPY_APP_PRIVATE_KEY }}
582        owner: ${{ github.repository_owner }}
583        repositories: ${{ github.event.repository.name }}
584        permission-contents: write
585    - name: steps::checkout_repo
586      uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd
587      with:
588        clean: false
589        fetch-tags: true
590    - name: release::download_workflow_artifacts
591      uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
592      with:
593        path: ./artifacts/
594    - name: ls -lR ./artifacts
595      run: ls -lR ./artifacts
596    - name: release::prep_release_artifacts
597      run: |-
598        mkdir -p release-artifacts/
599
600        mv ./artifacts/Zed-aarch64.dmg/Zed-aarch64.dmg release-artifacts/Zed-aarch64.dmg
601        mv ./artifacts/Zed-x86_64.dmg/Zed-x86_64.dmg release-artifacts/Zed-x86_64.dmg
602        mv ./artifacts/zed-linux-aarch64.tar.gz/zed-linux-aarch64.tar.gz release-artifacts/zed-linux-aarch64.tar.gz
603        mv ./artifacts/zed-linux-x86_64.tar.gz/zed-linux-x86_64.tar.gz release-artifacts/zed-linux-x86_64.tar.gz
604        mv ./artifacts/bwrap-linux-aarch64.gz/bwrap-linux-aarch64.gz release-artifacts/bwrap-linux-aarch64.gz
605        mv ./artifacts/bwrap-linux-x86_64.gz/bwrap-linux-x86_64.gz release-artifacts/bwrap-linux-x86_64.gz
606        mv ./artifacts/Zed-x86_64.exe/Zed-x86_64.exe release-artifacts/Zed-x86_64.exe
607        mv ./artifacts/Zed-aarch64.exe/Zed-aarch64.exe release-artifacts/Zed-aarch64.exe
608        mv ./artifacts/zed-remote-server-macos-aarch64.gz/zed-remote-server-macos-aarch64.gz release-artifacts/zed-remote-server-macos-aarch64.gz
609        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
610        mv ./artifacts/zed-remote-server-linux-aarch64.gz/zed-remote-server-linux-aarch64.gz release-artifacts/zed-remote-server-linux-aarch64.gz
611        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
612        mv ./artifacts/zed-remote-server-windows-aarch64.zip/zed-remote-server-windows-aarch64.zip release-artifacts/zed-remote-server-windows-aarch64.zip
613        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
614    - name: ./script/upload-nightly
615      run: ./script/upload-nightly
616      env:
617        DIGITALOCEAN_SPACES_ACCESS_KEY: ${{ secrets.DIGITALOCEAN_SPACES_ACCESS_KEY }}
618        DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }}
619    - name: steps::update_tag
620      uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b
621      with:
622        script: |
623          github.rest.git.updateRef({
624              owner: context.repo.owner,
625              repo: context.repo.repo,
626              ref: 'tags/nightly',
627              sha: context.sha,
628              force: true
629          })
630        github-token: ${{ steps.generate-token.outputs.token }}
631    - name: release::create_sentry_release
632      uses: getsentry/action-release@526942b68292201ac6bbb99b9a0747d4abee354c
633      with:
634        environment: production
635      env:
636        SENTRY_ORG: zed-dev
637        SENTRY_PROJECT: zed
638        SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
639    timeout-minutes: 60
640  notify_on_failure:
641    needs:
642    - bundle_linux_aarch64
643    - bundle_linux_x86_64
644    - build_static_bwrap_linux_aarch64
645    - build_static_bwrap_linux_x86_64
646    - bundle_mac_aarch64
647    - bundle_mac_x86_64
648    - bundle_windows_aarch64
649    - bundle_windows_x86_64
650    if: failure()
651    runs-on: namespace-profile-2x4-ubuntu-2404
652    steps:
653    - name: release::send_slack_message
654      run: 'curl -X POST -H ''Content-type: application/json'' --data "$(jq -n --arg text "$SLACK_MESSAGE" ''{"text": $text}'')" "$SLACK_WEBHOOK"'
655      env:
656        SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_WORKFLOW_FAILURES }}
657        SLACK_MESSAGE: '❌ ${{ github.workflow }} failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}'
658concurrency:
659  group: release-nightly
660  cancel-in-progress: true
661defaults:
662  run:
663    shell: bash -euxo pipefail {0}
664
Served at tenant.openagents/omega Member data and write actions are omitted.