diff --git a/.github/workflows/dev-daily-fixed.yml b/.github/workflows/dev-daily-fixed.yml index fb63aff..6c3c813 100644 --- a/.github/workflows/dev-daily-fixed.yml +++ b/.github/workflows/dev-daily-fixed.yml @@ -6,6 +6,10 @@ on: - cron: "0 16 * * *" workflow_dispatch: +concurrency: + group: dev-nightly-fixed-release + cancel-in-progress: true + permissions: contents: write @@ -329,9 +333,21 @@ jobs: - 如某个平台资源暂未生成,请进入[发布页]($RELEASE_PAGE)查看最新状态 EOF - RELEASE_REST_ID="$(gh api "repos/$REPO/releases/tags/$TAG" --jq '.id')" - jq -n --rawfile body dev_release_notes.md \ - '{name:"Daily Dev Build", body:$body, draft:false, prerelease:true}' \ - > release_update_payload.json - gh api --method PATCH "repos/$REPO/releases/$RELEASE_REST_ID" --input release_update_payload.json >/dev/null + update_release_notes() { + local attempts=5 + local delay_seconds=2 + local i + for ((i=1; i<=attempts; i++)); do + if gh release edit "$TAG" --repo "$REPO" --title "Daily Dev Build" --notes-file dev_release_notes.md --prerelease >/dev/null 2>&1; then + return 0 + fi + if [ "$i" -lt "$attempts" ]; then + echo "Release update failed (attempt $i/$attempts), retry in ${delay_seconds}s..." + sleep "$delay_seconds" + fi + done + return 1 + } + + update_release_notes gh release view "$TAG" --repo "$REPO" --json isDraft,isPrerelease,url diff --git a/.github/workflows/preview-nightly-main.yml b/.github/workflows/preview-nightly-main.yml index 751d227..a6c7b56 100644 --- a/.github/workflows/preview-nightly-main.yml +++ b/.github/workflows/preview-nightly-main.yml @@ -6,6 +6,10 @@ on: - cron: "0 16 * * *" workflow_dispatch: +concurrency: + group: preview-nightly-fixed-release + cancel-in-progress: true + permissions: contents: write @@ -371,9 +375,21 @@ jobs: > 如某个平台链接暂未生成,请前往[发布页]($RELEASE_PAGE)查看最新资源 EOF - RELEASE_REST_ID="$(gh api "repos/$REPO/releases/tags/$TAG" --jq '.id')" - jq -n --rawfile body preview_release_notes.md \ - '{name:"Preview Nightly Build", body:$body, draft:false, prerelease:true}' \ - > release_update_payload.json - gh api --method PATCH "repos/$REPO/releases/$RELEASE_REST_ID" --input release_update_payload.json >/dev/null + update_release_notes() { + local attempts=5 + local delay_seconds=2 + local i + for ((i=1; i<=attempts; i++)); do + if gh release edit "$TAG" --repo "$REPO" --title "Preview Nightly Build" --notes-file preview_release_notes.md --prerelease >/dev/null 2>&1; then + return 0 + fi + if [ "$i" -lt "$attempts" ]; then + echo "Release update failed (attempt $i/$attempts), retry in ${delay_seconds}s..." + sleep "$delay_seconds" + fi + done + return 1 + } + + update_release_notes gh release view "$TAG" --repo "$REPO" --json isDraft,isPrerelease,url diff --git a/package-lock.json b/package-lock.json index bdc0bb0..0c06ec1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,7 @@ "sharp": "^0.34.5", "typescript": "^6.0.2", "vite": "^7.3.2", - "vite-plugin-electron": "^0.28.8", + "vite-plugin-electron": "^0.29.1", "vite-plugin-electron-renderer": "^0.14.6" } }, @@ -10140,9 +10140,9 @@ } }, "node_modules/vite-plugin-electron": { - "version": "0.28.8", - "resolved": "https://registry.npmjs.org/vite-plugin-electron/-/vite-plugin-electron-0.28.8.tgz", - "integrity": "sha512-ir+B21oSGK9j23OEvt4EXyco9xDCaF6OGFe0V/8Zc0yL2+HMyQ6mmNQEIhXsEsZCSfIowBpwQBeHH4wVsfraeg==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/vite-plugin-electron/-/vite-plugin-electron-0.29.1.tgz", + "integrity": "sha512-AejNed5BgHFnuw8h5puTa61C6vdP4ydbsbo/uVjH1fTdHAlCDz1+o6pDQ/scQj1udDrGvH01+vTbzQh/vMnR9w==", "dev": true, "license": "MIT", "peerDependencies": { diff --git a/package.json b/package.json index 1da944d..0f05abe 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "sharp": "^0.34.5", "typescript": "^6.0.2", "vite": "^7.3.2", - "vite-plugin-electron": "^0.28.8", + "vite-plugin-electron": "^0.29.1", "vite-plugin-electron-renderer": "^0.14.6" }, "pnpm": {