fix:修复fyne编译模式
Some checks failed
Build All Platforms / Prepare Version (push) Has been cancelled
Build All Platforms / Build Android APK (push) Has been cancelled
Build All Platforms / Build Desktop Apps (amd64, linux-amd64, ubuntu-latest, linux) (push) Has been cancelled
Build All Platforms / Build Desktop Apps (amd64, macos-amd64, macos-13, darwin) (push) Has been cancelled
Build All Platforms / Build Desktop Apps (amd64, windows-amd64, windows-latest, windows) (push) Has been cancelled
Build All Platforms / Build Desktop Apps (arm64, macos-arm64, macos-latest, darwin) (push) Has been cancelled
Build All Platforms / Upload to Latest Release (push) Has been cancelled

This commit is contained in:
spiritlhl
2025-10-31 18:05:06 +08:00
parent 2311cba16c
commit 25f2a10ce8

View File

@@ -243,32 +243,34 @@ jobs:
run: |
mkdir -p .build
# Use go build instead of fyne package for better compatibility
# Build the package with ldflags
fyne package -os ${{ matrix.platform }} -name goecs --app-version "${{ needs.prepare.outputs.app_version }}" -ldflags "-checklinkname=0 -s -w"
# Package the output
if [ "${{ matrix.platform }}" == "darwin" ]; then
go build -ldflags="-checklinkname=0 -s -w" -o goecs .
mkdir -p goecs.app/Contents/MacOS
mkdir -p goecs.app/Contents/Resources
mv goecs goecs.app/Contents/MacOS/
echo '<?xml version="1.0" encoding="UTF-8"?>' > goecs.app/Contents/Info.plist
echo '<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">' >> goecs.app/Contents/Info.plist
echo '<plist version="1.0"><dict>' >> goecs.app/Contents/Info.plist
echo '<key>CFBundleExecutable</key><string>goecs</string>' >> goecs.app/Contents/Info.plist
echo '<key>CFBundleIdentifier</key><string>com.oneclickvirt.goecs</string>' >> goecs.app/Contents/Info.plist
echo '<key>CFBundleName</key><string>goecs</string>' >> goecs.app/Contents/Info.plist
echo '<key>CFBundlePackageType</key><string>APPL</string>' >> goecs.app/Contents/Info.plist
echo '<key>CFBundleShortVersionString</key><string>${{ needs.prepare.outputs.app_version }}</string>' >> goecs.app/Contents/Info.plist
echo '<key>LSMinimumSystemVersion</key><string>10.13.0</string>' >> goecs.app/Contents/Info.plist
echo '</dict></plist>' >> goecs.app/Contents/Info.plist
tar -czf .build/goecs-${{ matrix.name }}-${{ needs.prepare.outputs.version }}.tar.gz goecs.app
echo "macOS app 构建成功"
if [ -d goecs.app ]; then
tar -czf .build/goecs-${{ matrix.name }}-${{ needs.prepare.outputs.version }}.tar.gz goecs.app
echo "macOS app 构建成功"
else
echo "macOS app 构建失败"
exit 1
fi
elif [ "${{ matrix.platform }}" == "windows" ]; then
go build -ldflags="-checklinkname=0 -s -w -H=windowsgui" -o goecs.exe .
mv goecs.exe .build/goecs-${{ matrix.name }}-${{ needs.prepare.outputs.version }}.exe
echo "Windows exe 构建成功"
if [ -f goecs.exe ]; then
mv goecs.exe .build/goecs-${{ matrix.name }}-${{ needs.prepare.outputs.version }}.exe
echo "Windows exe 构建成功"
else
echo "Windows exe 构建失败"
exit 1
fi
elif [ "${{ matrix.platform }}" == "linux" ]; then
go build -ldflags="-checklinkname=0 -s -w" -o goecs .
tar -czf .build/goecs-${{ matrix.name }}-${{ needs.prepare.outputs.version }}.tar.gz goecs
echo "Linux binary 构建成功"
if [ -f goecs ]; then
tar -czf .build/goecs-${{ matrix.name }}-${{ needs.prepare.outputs.version }}.tar.gz goecs
echo "Linux binary 构建成功"
else
echo "Linux binary 构建失败"
exit 1
fi
fi
- name: List build artifacts