|
1 | 1 | name: Build Lamina Interpreter |
2 | 2 |
|
3 | | -# Nightly build + manual trigger |
| 3 | +# Nightly build(X) + manual trigger |
4 | 4 | on: |
5 | 5 | # Run nightly at 01:00 PT (Pacific Time) -> UTC 08:00; adjust cron as needed |
6 | | - schedule: |
7 | | - - cron: '0 8 * * *' |
| 6 | + #schedule: |
| 7 | + # - cron: '0 8 * * *' |
8 | 8 | # Allow manual runs from the Actions UI |
9 | 9 | workflow_dispatch: {} |
10 | 10 | # Keep PR-triggered builds enabled for pull requests |
@@ -470,30 +470,41 @@ jobs: |
470 | 470 | signing-policy-slug: 'release-signing' |
471 | 471 | artifact-configuration-slug: 'Lamina_on_Windows' |
472 | 472 | github-artifact-id: '${{ steps.upload-artifact.outputs.artifact-id }}' |
473 | | - wait-for-completion: true |
| 473 | + wait-for-completion: false |
474 | 474 | output-artifact-directory: 'artifacts/signed' |
475 | 475 | parameters: | |
476 | | - version: "1.1.1" |
| 476 | + version: "${{ steps.extract-version.outputs.version || '1.1.1' }}" |
477 | 477 |
|
478 | 478 | - name: Package signed artifacts (Windows) |
479 | 479 | if: runner.os == 'Windows' |
| 480 | + continue-on-error: true |
480 | 481 | shell: pwsh |
481 | 482 | env: |
482 | 483 | ZIP_NAME: "Lamina-${{ matrix.target }}-signed.zip" |
483 | 484 | run: | |
| 485 | + # 如果没有签名产物则跳过打包以避免失败 |
| 486 | + $signedFiles = Get-ChildItem -Path "artifacts/signed" -File -Recurse -ErrorAction SilentlyContinue |
| 487 | + if (-not $signedFiles) { |
| 488 | + Write-Output "No signed artifacts found in artifacts/signed — skipping packaging." |
| 489 | + exit 0 |
| 490 | + } |
| 491 | +
|
484 | 492 | # Ensure output dir exists |
485 | 493 | New-Item -ItemType Directory -Path artifacts -Force | Out-Null |
486 | 494 | # Remove existing zip if present |
487 | 495 | if (Test-Path "artifacts/$env:ZIP_NAME") { Remove-Item "artifacts/$env:ZIP_NAME" -Force } |
| 496 | +
|
488 | 497 | # Package all signed files into a single zip |
489 | | - Compress-Archive -Path "artifacts/signed/*" -DestinationPath "artifacts/$env:ZIP_NAME" -Force |
| 498 | + $paths = $signedFiles | ForEach-Object { $_.FullName } |
| 499 | + Compress-Archive -Path $paths -DestinationPath "artifacts/$env:ZIP_NAME" -Force |
490 | 500 | Write-Output "Packaged signed artifacts: artifacts/$env:ZIP_NAME" |
491 | 501 |
|
492 | 502 | - name: Upload signed artifact (Windows) |
493 | 503 | if: runner.os == 'Windows' |
| 504 | + continue-on-error: true |
494 | 505 | uses: actions/upload-artifact@v4 |
495 | 506 | with: |
496 | 507 | name: Lamina-${{ matrix.target }}-signed |
497 | 508 | path: artifacts/Lamina-${{ matrix.target }}-signed.zip |
498 | | - if-no-files-found: error |
| 509 | + if-no-files-found: warn |
499 | 510 | retention-days: 30 |
0 commit comments