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