From bef82f46627fab47f72ed9f3c239fae1ce09f443 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E6=B0=B8=E8=B5=AB?= <1259085392@qq.com> Date: Tue, 28 Apr 2026 11:41:43 +0900 Subject: [PATCH] fix(ci): suppress nightly generated release notes --- .github/workflows/build-desktop-tauri.yml | 2 +- scripts/ci/build-desktop-tauri-workflow.test.mjs | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-desktop-tauri.yml b/.github/workflows/build-desktop-tauri.yml index 61bb5a0e..446a45e4 100644 --- a/.github/workflows/build-desktop-tauri.yml +++ b/.github/workflows/build-desktop-tauri.yml @@ -687,7 +687,7 @@ jobs: - Mode: `${{ needs.resolve_build_context.outputs.build_mode }}` - Windows package formats: `nsis installer` and `portable zip`. - Windows portable zip uses manual replacement updates and requires WebView2 to already exist on the host. - generate_release_notes: true + generate_release_notes: ${{ needs.resolve_build_context.outputs.build_mode != 'nightly' }} prerelease: ${{ needs.resolve_build_context.outputs.release_prerelease == 'true' }} make_latest: ${{ needs.resolve_build_context.outputs.release_make_latest == 'true' }} overwrite_files: true diff --git a/scripts/ci/build-desktop-tauri-workflow.test.mjs b/scripts/ci/build-desktop-tauri-workflow.test.mjs index 8e73c13a..c08d1282 100644 --- a/scripts/ci/build-desktop-tauri-workflow.test.mjs +++ b/scripts/ci/build-desktop-tauri-workflow.test.mjs @@ -9,6 +9,7 @@ import { const WORKFLOW_FILE = 'build-desktop-tauri.yml'; const BUILD_MACOS_JOB = 'build-macos'; +const RELEASE_JOB = 'release'; const PREPARE_RESOURCES_RUN = /pnpm run prepare:resources/; const PRESIGN_BACKEND_RUN = /codesign-macos-nested\.sh\s+"resources\/backend"/; const BUILD_APP_BUNDLE_RUN = /cargo tauri build --verbose --target/; @@ -68,3 +69,18 @@ test('macOS workflow prepares resources before optional pre-signing', async () = /Resources are already prepared/, ); }); + +test('release workflow disables generated release notes for nightly builds', async () => { + const workflowObject = await readWorkflowObject(WORKFLOW_FILE); + const steps = extractWorkflowJobSteps(workflowObject, RELEASE_JOB); + const releaseStep = findStep( + steps, + 'Create or update release', + (step) => step.name === 'Create or update release' && /^softprops\/action-gh-release@/.test(step.uses ?? ''), + ); + + assert.equal( + releaseStep.with?.generate_release_notes, + "${{ needs.resolve_build_context.outputs.build_mode != 'nightly' }}", + ); +});