| ... | ... | @@ -311,9 +311,7 @@ jobs: |
| 311 | 311 | shell: bash |
| 312 | 312 | run: | |
| 313 | 313 | set -euo pipefail |
| 314 | | asset_dir="release-artifacts/desktop-${{ matrix.platform }}-${{ matrix.arch }}" |
| 315 | | rm -rf "$asset_dir" |
| 316 | | mkdir -p "$asset_dir" |
| 314 | mkdir -p release-publish |
| 317 | 315 | |
| 318 | 316 | shopt -s nullglob |
| 319 | 317 | for pattern in \ |
| ... | ... | @@ -324,13 +322,13 @@ jobs: |
| 324 | 322 | "release/*.blockmap" \ |
| 325 | 323 | "release/*.yml"; do |
| 326 | 324 | for file in $pattern; do |
| 327 | | cp "$file" "$asset_dir"/ |
| 325 | cp "$file" release-publish/ |
| 328 | 326 | done |
| 329 | 327 | done |
| 330 | 328 | |
| 331 | 329 | if [[ "${{ matrix.platform }}" == "mac" && "${{ matrix.arch }}" != "arm64" ]]; then |
| 332 | 330 | shopt -s nullglob |
| 333 | | for manifest in "$asset_dir"/*-mac.yml; do |
| 331 | for manifest in release-publish/*-mac.yml; do |
| 334 | 332 | mv "$manifest" "${manifest%.yml}-${{ matrix.arch }}.yml" |
| 335 | 333 | done |
| 336 | 334 | fi |
| ... | ... | @@ -342,23 +340,17 @@ jobs: |
| 342 | 340 | # canonical manifest per channel. |
| 343 | 341 | # if [[ "${{ matrix.platform }}" == "win" ]]; then |
| 344 | 342 | # shopt -s nullglob |
| 345 | | # for manifest in "$asset_dir"/*.yml; do |
| 343 | # for manifest in release-publish/*.yml; do |
| 346 | 344 | # mv "$manifest" "${manifest%.yml}-win-${{ matrix.arch }}.yml" |
| 347 | 345 | # done |
| 348 | 346 | # fi |
| 349 | 347 | |
| 350 | | assets=("$asset_dir"/*) |
| 351 | | if (( ${#assets[@]} == 0 )); then |
| 352 | | echo "No release assets were collected for ${{ matrix.platform }} ${{ matrix.arch }}." >&2 |
| 353 | | exit 1 |
| 354 | | fi |
| 355 | | |
| 356 | | - name: Save build artifacts |
| 357 | | uses: actions/cache/save@v5 |
| 348 | - name: Upload build artifacts |
| 349 | uses: actions/upload-artifact@v7 |
| 358 | 350 | with: |
| 359 | | path: release-artifacts/desktop-${{ matrix.platform }}-${{ matrix.arch }} |
| 360 | | key: release-assets-${{ github.run_id }}-${{ matrix.platform }}-${{ matrix.arch }}-${{ github.run_attempt }} |
| 361 | | enableCrossOsArchive: true |
| 351 | name: desktop-${{ matrix.platform }}-${{ matrix.arch }} |
| 352 | path: release-publish/* |
| 353 | if-no-files-found: error |
| 362 | 354 | |
| 363 | 355 | publish_cli: |
| 364 | 356 | name: Publish CLI to npm |
| ... | ... | @@ -431,70 +423,12 @@ jobs: |
| 431 | 423 | - name: Install dependencies |
| 432 | 424 | run: bun install --frozen-lockfile --filter=@t3tools/scripts |
| 433 | 425 | |
| 434 | | # Keep these restore steps in sync with the desktop build matrix. |
| 435 | | # Cache restore cannot enumerate a key pattern like download-artifact did. |
| 436 | | - name: Restore macOS arm64 desktop assets |
| 437 | | uses: actions/cache/restore@v5 |
| 438 | | with: |
| 439 | | path: release-artifacts/desktop-mac-arm64 |
| 440 | | key: release-assets-${{ github.run_id }}-mac-arm64-${{ github.run_attempt }} |
| 441 | | restore-keys: | |
| 442 | | release-assets-${{ github.run_id }}-mac-arm64- |
| 443 | | fail-on-cache-miss: true |
| 444 | | enableCrossOsArchive: true |
| 445 | | |
| 446 | | - name: Restore macOS x64 desktop assets |
| 447 | | uses: actions/cache/restore@v5 |
| 448 | | with: |
| 449 | | path: release-artifacts/desktop-mac-x64 |
| 450 | | key: release-assets-${{ github.run_id }}-mac-x64-${{ github.run_attempt }} |
| 451 | | restore-keys: | |
| 452 | | release-assets-${{ github.run_id }}-mac-x64- |
| 453 | | fail-on-cache-miss: true |
| 454 | | enableCrossOsArchive: true |
| 455 | | |
| 456 | | - name: Restore Linux x64 desktop assets |
| 457 | | uses: actions/cache/restore@v5 |
| 426 | - name: Download all desktop artifacts |
| 427 | uses: actions/download-artifact@v8 |
| 458 | 428 | with: |
| 459 | | path: release-artifacts/desktop-linux-x64 |
| 460 | | key: release-assets-${{ github.run_id }}-linux-x64-${{ github.run_attempt }} |
| 461 | | restore-keys: | |
| 462 | | release-assets-${{ github.run_id }}-linux-x64- |
| 463 | | fail-on-cache-miss: true |
| 464 | | enableCrossOsArchive: true |
| 465 | | |
| 466 | | - name: Restore Windows x64 desktop assets |
| 467 | | uses: actions/cache/restore@v5 |
| 468 | | with: |
| 469 | | path: release-artifacts/desktop-win-x64 |
| 470 | | key: release-assets-${{ github.run_id }}-win-x64-${{ github.run_attempt }} |
| 471 | | restore-keys: | |
| 472 | | release-assets-${{ github.run_id }}-win-x64- |
| 473 | | fail-on-cache-miss: true |
| 474 | | enableCrossOsArchive: true |
| 475 | | |
| 476 | | - name: Stage desktop assets |
| 477 | | shell: bash |
| 478 | | run: | |
| 479 | | set -euo pipefail |
| 480 | | rm -rf release-assets |
| 481 | | mkdir -p release-assets |
| 482 | | |
| 483 | | shopt -s nullglob |
| 484 | | for dir in release-artifacts/desktop-*; do |
| 485 | | files=("$dir"/*) |
| 486 | | if (( ${#files[@]} == 0 )); then |
| 487 | | echo "No release assets were restored from $dir." >&2 |
| 488 | | exit 1 |
| 489 | | fi |
| 490 | | cp "${files[@]}" release-assets/ |
| 491 | | done |
| 492 | | |
| 493 | | assets=(release-assets/*) |
| 494 | | if (( ${#assets[@]} == 0 )); then |
| 495 | | echo "No desktop release assets were staged." >&2 |
| 496 | | exit 1 |
| 497 | | fi |
| 429 | pattern: desktop-* |
| 430 | merge-multiple: true |
| 431 | path: release-assets |
| 498 | 432 | |
| 499 | 433 | - name: Merge macOS updater manifests |
| 500 | 434 | run: | |