From a9cbcd4332a4d8ed104406a3f809ea7c6cd556a3 Mon Sep 17 00:00:00 2001 From: linshen <32978552+linshenkx@users.noreply.github.com> Date: Mon, 20 Apr 2026 23:14:24 +0800 Subject: [PATCH] fix(release): handle optional linux release assets --- .github/workflows/release.yml | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 322942ac..c8f35327 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -383,8 +383,9 @@ jobs: appimage_files=$(find packages/desktop/dist -name "*.AppImage" 2>/dev/null | wc -l) zip_files=$(find packages/desktop/dist -name "*.zip" 2>/dev/null | wc -l) + metadata_files=$(find packages/desktop/dist -name "latest*.yml" 2>/dev/null | wc -l) - echo "Found $appimage_files .AppImage files and $zip_files .zip files" + echo "Found $appimage_files .AppImage files, $zip_files .zip files, and $metadata_files latest*.yml files" if [ "$appimage_files" -eq 0 ] && [ "$zip_files" -eq 0 ]; then echo "Error: No build artifacts (.AppImage or .zip) found in packages/desktop/dist/" @@ -393,21 +394,42 @@ jobs: exit 1 fi + if [ "$metadata_files" -eq 0 ]; then + echo "Error: Linux build is missing updater metadata (latest*.yml)" + echo "Directory contents:" + find packages/desktop/dist -type f 2>/dev/null || echo "Directory not found or empty" + exit 1 + fi + echo "Build artifacts verification passed" - name: 清理调试文件 run: find packages/desktop/dist -type f -name "builder-debug.yml" -delete - name: 直接上传 Linux Release Assets + shell: bash env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} VERSION: ${{ needs.prepare-release.outputs.version }} run: | + shopt -s nullglob + + files=( + packages/desktop/dist/*.AppImage + packages/desktop/dist/*.zip + packages/desktop/dist/latest*.yml + ) + + if [ "${#files[@]}" -eq 0 ]; then + echo "Error: No Linux release assets found to upload" + exit 1 + fi + + echo "Uploading Linux release assets:" + printf ' %s\n' "${files[@]}" + gh release upload "$VERSION" \ - packages/desktop/dist/*.AppImage \ - packages/desktop/dist/*.zip \ - packages/desktop/dist/*.blockmap \ - packages/desktop/dist/*.yml \ + "${files[@]}" \ --repo "${{ github.repository }}" \ --clobber