Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1ed5de2374 |
@@ -622,7 +622,7 @@ jobs:
|
|||||||
|
|
||||||
release:
|
release:
|
||||||
name: Build signed release artifacts
|
name: Build signed release artifacts
|
||||||
if: ${{ needs.release-contract.result == 'success' }}
|
if: ${{ !cancelled() && needs.release-contract.result == 'success' }}
|
||||||
needs: [release-contract]
|
needs: [release-contract]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
@@ -788,7 +788,7 @@ jobs:
|
|||||||
|
|
||||||
verify-darwin-signatures:
|
verify-darwin-signatures:
|
||||||
name: Verify Apple Developer ID signatures
|
name: Verify Apple Developer ID signatures
|
||||||
if: ${{ needs.release.result == 'success' }}
|
if: ${{ !cancelled() && needs.release.result == 'success' }}
|
||||||
needs: [release-contract, release]
|
needs: [release-contract, release]
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
timeout-minutes: 10
|
timeout-minutes: 10
|
||||||
@@ -816,7 +816,7 @@ jobs:
|
|||||||
|
|
||||||
publish-release:
|
publish-release:
|
||||||
name: Publish immutable GitHub Release
|
name: Publish immutable GitHub Release
|
||||||
if: ${{ needs.release-contract.result == 'success' && needs.release.result == 'success' && needs.verify-darwin-signatures.result == 'success' }}
|
if: ${{ !cancelled() && needs.release-contract.result == 'success' && needs.release.result == 'success' && needs.verify-darwin-signatures.result == 'success' }}
|
||||||
needs: [release-contract, release, verify-darwin-signatures]
|
needs: [release-contract, release, verify-darwin-signatures]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 30
|
timeout-minutes: 30
|
||||||
@@ -1055,7 +1055,7 @@ jobs:
|
|||||||
|
|
||||||
publish-channels:
|
publish-channels:
|
||||||
name: Publish npm and mirrors
|
name: Publish npm and mirrors
|
||||||
if: ${{ needs.release-contract.result == 'success' && needs.publish-release.result == 'success' }}
|
if: ${{ !cancelled() && needs.release-contract.result == 'success' && needs.publish-release.result == 'success' }}
|
||||||
needs: [release-contract, publish-release]
|
needs: [release-contract, publish-release]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 30
|
timeout-minutes: 30
|
||||||
@@ -1286,7 +1286,7 @@ jobs:
|
|||||||
|
|
||||||
mirror-gitee-release:
|
mirror-gitee-release:
|
||||||
name: Mirror immutable release to Gitee
|
name: Mirror immutable release to Gitee
|
||||||
if: ${{ vars.ENABLE_GITEE_UPLOAD_FALLBACK == 'true' && needs.release-contract.result == 'success' && needs.release.result == 'success' && needs.publish-channels.result == 'success' }}
|
if: ${{ vars.ENABLE_GITEE_UPLOAD_FALLBACK == 'true' && !cancelled() && needs.release-contract.result == 'success' && needs.release.result == 'success' && needs.publish-channels.result == 'success' }}
|
||||||
needs: [release-contract, release, publish-channels]
|
needs: [release-contract, release, publish-channels]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 120
|
timeout-minutes: 120
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ The format is inspired by [Keep a Changelog](https://keepachangelog.com/) and th
|
|||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- **Release preflight reliability** — source-mode installer tests now use isolated temporary checkouts and HOME directories instead of overwriting and deleting the real repository `dws` binary, release preflight explicitly rebuilds before policy checks, and the full-suite runner gives the growing script package a non-flaky five-minute per-suite budget.
|
- **Release preflight reliability** — source-mode installer tests now use isolated temporary checkouts and HOME directories instead of overwriting and deleting the real repository `dws` binary, release preflight explicitly rebuilds before policy checks, and the full-suite runner gives the growing script package a non-flaky five-minute per-suite budget.
|
||||||
|
- **Tag-push publication after the recovery refactor** — the guarded-recovery jobs are skipped on ordinary tag pushes, and the downstream build/sign/publish jobs relied on an implicit `success()` that treats those skipped ancestors as a chain failure, so pushing an annotated release tag validated the contract but silently skipped every publish job. The `release`, `verify-darwin-signatures`, `publish-release`, `publish-channels`, and `mirror-gitee-release` gates now use an explicit `!cancelled()` status check alongside their existing `result == 'success'` conditions, restoring direct tag-push delivery while keeping protected recovery as the failure break-glass.
|
||||||
|
|
||||||
## [1.0.53-beta.4] - 2026-07-17
|
## [1.0.53-beta.4] - 2026-07-17
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user