Files
MyGoNavi/.github/workflows/release.yml
杨国锋 d1ecde34fa 📝 docs(ci): 将发布流水线的日志输出汉化
- 将构建和打包步骤中的 echo 提示信息修改为中文
- 提高 CI/CD 运行日志的可读性,便于排查构建问题
2026-02-02 13:00:33 +08:00

102 lines
2.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: Release
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
build-and-release:
name: Build ${{ matrix.platform }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: macos-latest
platform: darwin/amd64
artifact_name: GoNavi-mac-amd64
- os: macos-latest
platform: darwin/arm64
artifact_name: GoNavi-mac-arm64
- os: windows-latest
platform: windows/amd64
artifact_name: GoNavi-windows-amd64
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.24'
check-latest: true
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Wails
run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
- name: Build
shell: bash
run: |
wails build -platform ${{ matrix.platform }} -clean -o ${{ matrix.artifact_name }}
- name: Package macOS Application
if: contains(matrix.platform, 'darwin')
run: |
cd build/bin
echo "📂 列出 build/bin 目录内容:"
ls -F
# Find .app bundle
APP_NAME=$(find . -maxdepth 1 -name "*.app" | head -n 1)
if [ -z "$APP_NAME" ]; then
echo "❌ 未找到 .app 应用包!"
exit 1
fi
echo "📦 正在压缩 $APP_NAME..."
zip -r "../../${{ matrix.artifact_name }}.zip" "$APP_NAME"
- name: Package Windows Executable
if: contains(matrix.platform, 'windows')
shell: bash
run: |
cd build/bin
echo "📂 列出 build/bin 目录内容:"
ls -F
TARGET="${{ matrix.artifact_name }}"
if [ -f "$TARGET.exe" ]; then
echo "✅ 找到 $TARGET.exe"
FINAL_EXE="$TARGET.exe"
elif [ -f "$TARGET" ]; then
echo "⚠️ 找到无后缀文件 $TARGET正在添加 .exe 后缀..."
mv "$TARGET" "$TARGET.exe"
FINAL_EXE="$TARGET.exe"
else
echo "❌ 未找到构建产物 '$TARGET'!"
exit 1
fi
echo "📦 正在移动 $FINAL_EXE 到根目录..."
mv "$FINAL_EXE" "../../${{ matrix.artifact_name }}.exe"
- name: Upload Release Asset
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
${{ matrix.artifact_name }}.zip
${{ matrix.artifact_name }}.exe
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}