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