1# Generated from xtask::workflows::run_tests
2# Rebuild with `cargo xtask workflows`.
3name: run_tests
4env:
5 CARGO_TERM_COLOR: always
6 RUST_BACKTRACE: '1'
7 CARGO_INCREMENTAL: '0'
8on:
9 pull_request:
10 branches:
11 - '**'
12 push:
13 branches:
14 - main
15 - v[0-9]+.[0-9]+.x
16jobs:
17 orchestrate:
18 if: github.repository_owner == 'zed-industries'
19 runs-on: namespace-profile-2x4-ubuntu-2404
20 steps:
21 - name: steps::checkout_repo
22 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
23 with:
24 clean: false
25 fetch-depth: ${{ github.ref == 'refs/heads/main' && 2 || 350 }}
26 - id: filter
27 name: filter
28 run: |
29 if [ -z "$GITHUB_BASE_REF" ]; then
30 echo "Not in a PR context (i.e., push to main/stable/preview)"
31 COMPARE_REV="$(git rev-parse HEAD~1)"
32 else
33 echo "In a PR context comparing to pull_request.base.ref"
34 git fetch origin "$GITHUB_BASE_REF" --depth=350
35 COMPARE_REV="$(git merge-base "origin/${GITHUB_BASE_REF}" HEAD)"
36 fi
37 CHANGED_FILES="$(git diff --name-only "$COMPARE_REV" ${{ github.sha }})"
38
39 check_pattern() {
40 local output_name="$1"
41 local pattern="$2"
42 local grep_arg="$3"
43
44 echo "$CHANGED_FILES" | grep "$grep_arg" "$pattern" && \
45 echo "${output_name}=true" >> "$GITHUB_OUTPUT" || \
46 echo "${output_name}=false" >> "$GITHUB_OUTPUT"
47 }
48
49 check_pattern "run_action_checks" '^\.github/(workflows/|actions/|actionlint.yml)|tooling/xtask|script/' -qP
50 check_pattern "run_docs" '^docs/' -qP
51 check_pattern "run_licenses" '^(Cargo.lock|script/.*licenses)' -qP
52 check_pattern "run_nix" '^(nix/|flake\.|Cargo\.|rust-toolchain.toml|\.cargo/config.toml)' -qP
53 check_pattern "run_tests" '^(docs/|script/update_top_ranking_issues/|\.github/(ISSUE_TEMPLATE|workflows/(?!run_tests)))' -qvP
54 shell: bash -euxo pipefail {0}
55 outputs:
56 run_action_checks: ${{ steps.filter.outputs.run_action_checks }}
57 run_docs: ${{ steps.filter.outputs.run_docs }}
58 run_licenses: ${{ steps.filter.outputs.run_licenses }}
59 run_nix: ${{ steps.filter.outputs.run_nix }}
60 run_tests: ${{ steps.filter.outputs.run_tests }}
61 check_style:
62 if: github.repository_owner == 'zed-industries'
63 runs-on: namespace-profile-4x8-ubuntu-2204
64 steps:
65 - name: steps::checkout_repo
66 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
67 with:
68 clean: false
69 - name: steps::cache_rust_dependencies_namespace
70 uses: namespacelabs/nscloud-cache-action@v1
71 with:
72 cache: rust
73 - name: steps::setup_pnpm
74 uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2
75 with:
76 version: '9'
77 - name: ./script/prettier
78 run: ./script/prettier
79 shell: bash -euxo pipefail {0}
80 - name: ./script/check-todos
81 run: ./script/check-todos
82 shell: bash -euxo pipefail {0}
83 - name: ./script/check-keymaps
84 run: ./script/check-keymaps
85 shell: bash -euxo pipefail {0}
86 - name: run_tests::check_style::check_for_typos
87 uses: crate-ci/typos@80c8a4945eec0f6d464eaf9e65ed98ef085283d1
88 with:
89 config: ./typos.toml
90 - name: steps::cargo_fmt
91 run: cargo fmt --all -- --check
92 shell: bash -euxo pipefail {0}
93 timeout-minutes: 60
94 run_tests_windows:
95 needs:
96 - orchestrate
97 if: needs.orchestrate.outputs.run_tests == 'true'
98 runs-on: self-32vcpu-windows-2022
99 steps:
100 - name: steps::checkout_repo
101 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
102 with:
103 clean: false
104 - name: steps::setup_cargo_config
105 run: |
106 New-Item -ItemType Directory -Path "./../.cargo" -Force
107 Copy-Item -Path "./.cargo/ci-config.toml" -Destination "./../.cargo/config.toml"
108 shell: pwsh
109 - name: steps::setup_node
110 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
111 with:
112 node-version: '20'
113 - name: steps::clippy
114 run: ./script/clippy.ps1
115 shell: pwsh
116 - name: steps::cargo_install_nextest
117 run: cargo install cargo-nextest --locked
118 shell: pwsh
119 - name: steps::clear_target_dir_if_large
120 run: ./script/clear-target-dir-if-larger-than.ps1 250
121 shell: pwsh
122 - name: steps::cargo_nextest
123 run: cargo nextest run --workspace --no-fail-fast --failure-output immediate-final
124 shell: pwsh
125 - name: steps::cleanup_cargo_config
126 if: always()
127 run: |
128 Remove-Item -Recurse -Path "./../.cargo" -Force -ErrorAction SilentlyContinue
129 shell: pwsh
130 timeout-minutes: 60
131 run_tests_linux:
132 needs:
133 - orchestrate
134 if: needs.orchestrate.outputs.run_tests == 'true'
135 runs-on: namespace-profile-16x32-ubuntu-2204
136 steps:
137 - name: steps::checkout_repo
138 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
139 with:
140 clean: false
141 - name: steps::setup_cargo_config
142 run: |
143 mkdir -p ./../.cargo
144 cp ./.cargo/ci-config.toml ./../.cargo/config.toml
145 shell: bash -euxo pipefail {0}
146 - name: steps::cache_rust_dependencies_namespace
147 uses: namespacelabs/nscloud-cache-action@v1
148 with:
149 cache: rust
150 - name: steps::setup_linux
151 run: ./script/linux
152 shell: bash -euxo pipefail {0}
153 - name: steps::install_mold
154 run: ./script/install-mold
155 shell: bash -euxo pipefail {0}
156 - name: steps::download_wasi_sdk
157 run: ./script/download-wasi-sdk
158 shell: bash -euxo pipefail {0}
159 - name: steps::setup_node
160 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
161 with:
162 node-version: '20'
163 - name: steps::clippy
164 run: ./script/clippy
165 shell: bash -euxo pipefail {0}
166 - name: steps::cargo_install_nextest
167 run: cargo install cargo-nextest --locked
168 shell: bash -euxo pipefail {0}
169 - name: steps::clear_target_dir_if_large
170 run: ./script/clear-target-dir-if-larger-than 250
171 shell: bash -euxo pipefail {0}
172 - name: steps::cargo_nextest
173 run: cargo nextest run --workspace --no-fail-fast --failure-output immediate-final
174 shell: bash -euxo pipefail {0}
175 - name: steps::cleanup_cargo_config
176 if: always()
177 run: |
178 rm -rf ./../.cargo
179 shell: bash -euxo pipefail {0}
180 timeout-minutes: 60
181 run_tests_mac:
182 needs:
183 - orchestrate
184 if: needs.orchestrate.outputs.run_tests == 'true'
185 runs-on: self-mini-macos
186 steps:
187 - name: steps::checkout_repo
188 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
189 with:
190 clean: false
191 - name: steps::setup_cargo_config
192 run: |
193 mkdir -p ./../.cargo
194 cp ./.cargo/ci-config.toml ./../.cargo/config.toml
195 shell: bash -euxo pipefail {0}
196 - name: steps::setup_node
197 uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
198 with:
199 node-version: '20'
200 - name: steps::clippy
201 run: ./script/clippy
202 shell: bash -euxo pipefail {0}
203 - name: steps::cargo_install_nextest
204 run: cargo install cargo-nextest --locked
205 shell: bash -euxo pipefail {0}
206 - name: steps::clear_target_dir_if_large
207 run: ./script/clear-target-dir-if-larger-than 300
208 shell: bash -euxo pipefail {0}
209 - name: steps::cargo_nextest
210 run: cargo nextest run --workspace --no-fail-fast --failure-output immediate-final
211 shell: bash -euxo pipefail {0}
212 - name: steps::cleanup_cargo_config
213 if: always()
214 run: |
215 rm -rf ./../.cargo
216 shell: bash -euxo pipefail {0}
217 timeout-minutes: 60
218 doctests:
219 needs:
220 - orchestrate
221 if: needs.orchestrate.outputs.run_tests == 'true'
222 runs-on: namespace-profile-16x32-ubuntu-2204
223 steps:
224 - name: steps::checkout_repo
225 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
226 with:
227 clean: false
228 - name: steps::cache_rust_dependencies_namespace
229 uses: namespacelabs/nscloud-cache-action@v1
230 with:
231 cache: rust
232 - name: steps::setup_linux
233 run: ./script/linux
234 shell: bash -euxo pipefail {0}
235 - name: steps::install_mold
236 run: ./script/install-mold
237 shell: bash -euxo pipefail {0}
238 - name: steps::download_wasi_sdk
239 run: ./script/download-wasi-sdk
240 shell: bash -euxo pipefail {0}
241 - name: steps::setup_cargo_config
242 run: |
243 mkdir -p ./../.cargo
244 cp ./.cargo/ci-config.toml ./../.cargo/config.toml
245 shell: bash -euxo pipefail {0}
246 - id: run_doctests
247 name: run_tests::doctests::run_doctests
248 run: |
249 cargo test --workspace --doc --no-fail-fast
250 shell: bash -euxo pipefail {0}
251 - name: steps::cleanup_cargo_config
252 if: always()
253 run: |
254 rm -rf ./../.cargo
255 shell: bash -euxo pipefail {0}
256 timeout-minutes: 60
257 check_workspace_binaries:
258 needs:
259 - orchestrate
260 if: needs.orchestrate.outputs.run_tests == 'true'
261 runs-on: namespace-profile-8x16-ubuntu-2204
262 steps:
263 - name: steps::checkout_repo
264 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
265 with:
266 clean: false
267 - name: steps::setup_cargo_config
268 run: |
269 mkdir -p ./../.cargo
270 cp ./.cargo/ci-config.toml ./../.cargo/config.toml
271 shell: bash -euxo pipefail {0}
272 - name: steps::cache_rust_dependencies_namespace
273 uses: namespacelabs/nscloud-cache-action@v1
274 with:
275 cache: rust
276 - name: steps::setup_linux
277 run: ./script/linux
278 shell: bash -euxo pipefail {0}
279 - name: steps::install_mold
280 run: ./script/install-mold
281 shell: bash -euxo pipefail {0}
282 - name: steps::download_wasi_sdk
283 run: ./script/download-wasi-sdk
284 shell: bash -euxo pipefail {0}
285 - name: cargo build -p collab
286 run: cargo build -p collab
287 shell: bash -euxo pipefail {0}
288 - name: cargo build --workspace --bins --examples
289 run: cargo build --workspace --bins --examples
290 shell: bash -euxo pipefail {0}
291 - name: steps::cleanup_cargo_config
292 if: always()
293 run: |
294 rm -rf ./../.cargo
295 shell: bash -euxo pipefail {0}
296 timeout-minutes: 60
297 check_dependencies:
298 needs:
299 - orchestrate
300 if: needs.orchestrate.outputs.run_tests == 'true'
301 runs-on: namespace-profile-2x4-ubuntu-2404
302 steps:
303 - name: steps::checkout_repo
304 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
305 with:
306 clean: false
307 - name: steps::cache_rust_dependencies_namespace
308 uses: namespacelabs/nscloud-cache-action@v1
309 with:
310 cache: rust
311 - name: run_tests::check_dependencies::install_cargo_machete
312 uses: clechasseur/rs-cargo@8435b10f6e71c2e3d4d3b7573003a8ce4bfc6386
313 with:
314 command: install
315 args: cargo-machete@0.7.0
316 - name: run_tests::check_dependencies::run_cargo_machete
317 uses: clechasseur/rs-cargo@8435b10f6e71c2e3d4d3b7573003a8ce4bfc6386
318 with:
319 command: machete
320 - name: run_tests::check_dependencies::check_cargo_lock
321 run: cargo update --locked --workspace
322 shell: bash -euxo pipefail {0}
323 - name: run_tests::check_dependencies::check_vulnerable_dependencies
324 if: github.event_name == 'pull_request'
325 uses: actions/dependency-review-action@67d4f4bd7a9b17a0db54d2a7519187c65e339de8
326 with:
327 license-check: false
328 timeout-minutes: 60
329 check_docs:
330 needs:
331 - orchestrate
332 if: needs.orchestrate.outputs.run_docs == 'true'
333 runs-on: namespace-profile-8x16-ubuntu-2204
334 steps:
335 - name: steps::checkout_repo
336 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
337 with:
338 clean: false
339 - name: steps::setup_cargo_config
340 run: |
341 mkdir -p ./../.cargo
342 cp ./.cargo/ci-config.toml ./../.cargo/config.toml
343 shell: bash -euxo pipefail {0}
344 - name: steps::cache_rust_dependencies_namespace
345 uses: namespacelabs/nscloud-cache-action@v1
346 with:
347 cache: rust
348 - name: run_tests::check_docs::lychee_link_check
349 uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332
350 with:
351 args: --no-progress --exclude '^http' './docs/src/**/*'
352 fail: true
353 jobSummary: false
354 - name: steps::setup_linux
355 run: ./script/linux
356 shell: bash -euxo pipefail {0}
357 - name: steps::install_mold
358 run: ./script/install-mold
359 shell: bash -euxo pipefail {0}
360 - name: steps::download_wasi_sdk
361 run: ./script/download-wasi-sdk
362 shell: bash -euxo pipefail {0}
363 - name: run_tests::check_docs::install_mdbook
364 uses: peaceiris/actions-mdbook@ee69d230fe19748b7abf22df32acaa93833fad08
365 with:
366 mdbook-version: 0.4.37
367 - name: run_tests::check_docs::build_docs
368 run: |
369 mkdir -p target/deploy
370 mdbook build ./docs --dest-dir=../target/deploy/docs/
371 shell: bash -euxo pipefail {0}
372 - name: run_tests::check_docs::lychee_link_check
373 uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332
374 with:
375 args: --no-progress --exclude '^http' 'target/deploy/docs'
376 fail: true
377 jobSummary: false
378 timeout-minutes: 60
379 check_licenses:
380 needs:
381 - orchestrate
382 if: needs.orchestrate.outputs.run_licenses == 'true'
383 runs-on: namespace-profile-2x4-ubuntu-2404
384 steps:
385 - name: steps::checkout_repo
386 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
387 with:
388 clean: false
389 - name: steps::cache_rust_dependencies_namespace
390 uses: namespacelabs/nscloud-cache-action@v1
391 with:
392 cache: rust
393 - name: ./script/check-licenses
394 run: ./script/check-licenses
395 shell: bash -euxo pipefail {0}
396 - name: ./script/generate-licenses
397 run: ./script/generate-licenses
398 shell: bash -euxo pipefail {0}
399 check_scripts:
400 needs:
401 - orchestrate
402 if: needs.orchestrate.outputs.run_action_checks == 'true'
403 runs-on: namespace-profile-2x4-ubuntu-2404
404 steps:
405 - name: steps::checkout_repo
406 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
407 with:
408 clean: false
409 - name: run_tests::check_scripts::run_shellcheck
410 run: ./script/shellcheck-scripts error
411 shell: bash -euxo pipefail {0}
412 - id: get_actionlint
413 name: run_tests::check_scripts::download_actionlint
414 run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
415 shell: bash -euxo pipefail {0}
416 - name: run_tests::check_scripts::run_actionlint
417 run: |
418 ${{ steps.get_actionlint.outputs.executable }} -color
419 shell: bash -euxo pipefail {0}
420 - name: run_tests::check_scripts::check_xtask_workflows
421 run: |
422 cargo xtask workflows
423 if ! git diff --exit-code .github; then
424 echo "Error: .github directory has uncommitted changes after running 'cargo xtask workflows'"
425 echo "Please run 'cargo xtask workflows' locally and commit the changes"
426 exit 1
427 fi
428 shell: bash -euxo pipefail {0}
429 timeout-minutes: 60
430 build_nix_linux_x86_64:
431 needs:
432 - orchestrate
433 if: needs.orchestrate.outputs.run_nix == 'true'
434 runs-on: namespace-profile-32x64-ubuntu-2004
435 env:
436 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
437 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
438 ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON: ${{ secrets.ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON }}
439 GIT_LFS_SKIP_SMUDGE: '1'
440 steps:
441 - name: steps::checkout_repo
442 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
443 with:
444 clean: false
445 - name: nix_build::build_nix::install_nix
446 uses: cachix/install-nix-action@02a151ada4993995686f9ed4f1be7cfbb229e56f
447 with:
448 github_access_token: ${{ secrets.GITHUB_TOKEN }}
449 - name: nix_build::build_nix::cachix_action
450 uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
451 with:
452 name: zed
453 authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
454 cachixArgs: -v
455 pushFilter: -zed-editor-[0-9.]*-nightly
456 - name: nix_build::build_nix::build
457 run: nix build .#debug -L --accept-flake-config
458 shell: bash -euxo pipefail {0}
459 timeout-minutes: 60
460 continue-on-error: true
461 build_nix_mac_aarch64:
462 needs:
463 - orchestrate
464 if: needs.orchestrate.outputs.run_nix == 'true'
465 runs-on: self-mini-macos
466 env:
467 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
468 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
469 ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON: ${{ secrets.ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON }}
470 GIT_LFS_SKIP_SMUDGE: '1'
471 steps:
472 - name: steps::checkout_repo
473 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
474 with:
475 clean: false
476 - name: nix_build::build_nix::set_path
477 run: |
478 echo "/nix/var/nix/profiles/default/bin" >> "$GITHUB_PATH"
479 echo "/Users/administrator/.nix-profile/bin" >> "$GITHUB_PATH"
480 shell: bash -euxo pipefail {0}
481 - name: nix_build::build_nix::cachix_action
482 uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
483 with:
484 name: zed
485 authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
486 cachixArgs: -v
487 pushFilter: -zed-editor-[0-9.]*-nightly
488 - name: nix_build::build_nix::build
489 run: nix build .#debug -L --accept-flake-config
490 shell: bash -euxo pipefail {0}
491 - name: nix_build::build_nix::limit_store
492 run: |-
493 if [ "$(du -sm /nix/store | cut -f1)" -gt 50000 ]; then
494 nix-collect-garbage -d || true
495 fi
496 shell: bash -euxo pipefail {0}
497 timeout-minutes: 60
498 continue-on-error: true
499 check_postgres_and_protobuf_migrations:
500 needs:
501 - orchestrate
502 if: needs.orchestrate.outputs.run_tests == 'true'
503 runs-on: self-mini-macos
504 steps:
505 - name: steps::checkout_repo
506 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
507 with:
508 fetch-depth: 0
509 - name: run_tests::check_postgres_and_protobuf_migrations::remove_untracked_files
510 run: git clean -df
511 shell: bash -euxo pipefail {0}
512 - name: run_tests::check_postgres_and_protobuf_migrations::ensure_fresh_merge
513 run: |
514 if [ -z "$GITHUB_BASE_REF" ];
515 then
516 echo "BUF_BASE_BRANCH=$(git merge-base origin/main HEAD)" >> "$GITHUB_ENV"
517 else
518 git checkout -B temp
519 git merge -q "origin/$GITHUB_BASE_REF" -m "merge main into temp"
520 echo "BUF_BASE_BRANCH=$GITHUB_BASE_REF" >> "$GITHUB_ENV"
521 fi
522 shell: bash -euxo pipefail {0}
523 - name: run_tests::check_postgres_and_protobuf_migrations::bufbuild_setup_action
524 uses: bufbuild/buf-setup-action@v1
525 with:
526 version: v1.29.0
527 - name: run_tests::check_postgres_and_protobuf_migrations::bufbuild_breaking_action
528 uses: bufbuild/buf-breaking-action@v1
529 with:
530 input: crates/proto/proto/
531 against: https://github.com/${GITHUB_REPOSITORY}.git#branch=${BUF_BASE_BRANCH},subdir=crates/proto/proto/
532 timeout-minutes: 60
533 tests_pass:
534 needs:
535 - orchestrate
536 - check_style
537 - run_tests_windows
538 - run_tests_linux
539 - run_tests_mac
540 - doctests
541 - check_workspace_binaries
542 - check_dependencies
543 - check_docs
544 - check_licenses
545 - check_scripts
546 - build_nix_linux_x86_64
547 - build_nix_mac_aarch64
548 if: github.repository_owner == 'zed-industries' && always()
549 runs-on: namespace-profile-2x4-ubuntu-2404
550 steps:
551 - name: run_tests::tests_pass
552 run: |
553 set +x
554 EXIT_CODE=0
555
556 check_result() {
557 echo "* $1: $2"
558 if [[ "$2" != "skipped" && "$2" != "success" ]]; then EXIT_CODE=1; fi
559 }
560
561 check_result "orchestrate" "${{ needs.orchestrate.result }}"
562 check_result "check_style" "${{ needs.check_style.result }}"
563 check_result "run_tests_windows" "${{ needs.run_tests_windows.result }}"
564 check_result "run_tests_linux" "${{ needs.run_tests_linux.result }}"
565 check_result "run_tests_mac" "${{ needs.run_tests_mac.result }}"
566 check_result "doctests" "${{ needs.doctests.result }}"
567 check_result "check_workspace_binaries" "${{ needs.check_workspace_binaries.result }}"
568 check_result "check_dependencies" "${{ needs.check_dependencies.result }}"
569 check_result "check_docs" "${{ needs.check_docs.result }}"
570 check_result "check_licenses" "${{ needs.check_licenses.result }}"
571 check_result "check_scripts" "${{ needs.check_scripts.result }}"
572 check_result "build_nix_linux_x86_64" "${{ needs.build_nix_linux_x86_64.result }}"
573 check_result "build_nix_mac_aarch64" "${{ needs.build_nix_mac_aarch64.result }}"
574
575 exit $EXIT_CODE
576 shell: bash -euxo pipefail {0}
577concurrency:
578 group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }}
579 cancel-in-progress: true