From 6ca55a3d44f9ed43f72dfca545297017460c96aa Mon Sep 17 00:00:00 2001 From: Rust Date: Mon, 27 Oct 2025 23:20:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20GitHub=20Actions=20?= =?UTF-8?q?=E6=9E=84=E5=BB=BA=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复 libcore 编译命令 - 强制所有平台使用 Release 构建 - 添加 Linux tray_manager 依赖 --- .github/workflows/build-android-apk.yml | 23 ++++---- .github/workflows/build-multiplatform.yml | 64 +++++++++-------------- 2 files changed, 33 insertions(+), 54 deletions(-) diff --git a/.github/workflows/build-android-apk.yml b/.github/workflows/build-android-apk.yml index 554bc34..8cde233 100644 --- a/.github/workflows/build-android-apk.yml +++ b/.github/workflows/build-android-apk.yml @@ -85,7 +85,7 @@ jobs: working-directory: libcore run: | echo "🚀 开始编译 libcore..." - bash docker-compile.sh || make android + make android echo "✅ 编译完成,检查产物..." ls -lh bin/ @@ -177,13 +177,9 @@ jobs: flutter pub get flutter pub run build_runner build --delete-conflicting-outputs - - name: 🔨 构建 APK + - name: 🔨 构建 APK (Release) run: | - if [ "${{ matrix.build_type }}" = "release" ]; then - flutter build apk --release --split-per-abi - else - flutter build apk --debug --split-per-abi - fi + flutter build apk --release --split-per-abi - name: 📋 生成构建信息 id: build_info @@ -201,17 +197,16 @@ jobs: - name: 📦 重命名 APK 文件 run: | - BUILD_TYPE="${{ matrix.build_type }}" COMMIT_SHA=${{ steps.build_info.outputs.commit_sha }} DATE=$(date '+%Y%m%d') cd build/app/outputs/flutter-apk/ - for file in app-*-${BUILD_TYPE}.apk; do + for file in app-*-release.apk; do if [ -f "$file" ]; then # 提取架构名称 (arm64-v8a, armeabi-v7a, x86_64) - ARCH=$(echo "$file" | sed "s/app-\(.*\)-${BUILD_TYPE}.apk/\1/") - NEW_NAME="BearVPN-${ARCH}-${BUILD_TYPE}-${DATE}-${COMMIT_SHA}.apk" + ARCH=$(echo "$file" | sed "s/app-\(.*\)-release.apk/\1/") + NEW_NAME="BearVPN-${ARCH}-release-${DATE}-${COMMIT_SHA}.apk" mv "$file" "$NEW_NAME" @@ -230,21 +225,21 @@ jobs: - name: 📤 上传 APK (arm64-v8a) uses: actions/upload-artifact@v4 with: - name: apk-arm64-v8a-${{ matrix.build_type }} + name: apk-arm64-v8a-release path: build/app/outputs/flutter-apk/*arm64-v8a*.apk retention-days: 30 - name: 📤 上传 APK (armeabi-v7a) uses: actions/upload-artifact@v4 with: - name: apk-armeabi-v7a-${{ matrix.build_type }} + name: apk-armeabi-v7a-release path: build/app/outputs/flutter-apk/*armeabi-v7a*.apk retention-days: 30 - name: 📤 上传 APK (x86_64) uses: actions/upload-artifact@v4 with: - name: apk-x86_64-${{ matrix.build_type }} + name: apk-x86_64-release path: build/app/outputs/flutter-apk/*x86_64*.apk retention-days: 30 diff --git a/.github/workflows/build-multiplatform.yml b/.github/workflows/build-multiplatform.yml index ab7422d..35b3390 100644 --- a/.github/workflows/build-multiplatform.yml +++ b/.github/workflows/build-multiplatform.yml @@ -91,7 +91,7 @@ jobs: working-directory: libcore run: | echo "🚀 开始编译 Android libcore..." - bash docker-compile.sh || make android + make android if [ -f "bin/libcore.aar" ]; then echo "✅ libcore.aar 生成成功" @@ -168,26 +168,20 @@ jobs: flutter pub get flutter pub run build_runner build --delete-conflicting-outputs - - name: 🔨 构建 APK + - name: 🔨 构建 APK (Release) run: | - BUILD_TYPE="${{ inputs.build_type || 'release' }}" - if [ "$BUILD_TYPE" = "release" ]; then - flutter build apk --release --split-per-abi - else - flutter build apk --debug --split-per-abi - fi + flutter build apk --release --split-per-abi - name: 📦 重命名 APK run: | - BUILD_TYPE="${{ inputs.build_type || 'release' }}" COMMIT_SHA=${GITHUB_SHA::7} DATE=$(date '+%Y%m%d') cd build/app/outputs/flutter-apk/ - for file in app-*-${BUILD_TYPE}.apk; do + for file in app-*-release.apk; do if [ -f "$file" ]; then - ARCH=$(echo "$file" | sed "s/app-\(.*\)-${BUILD_TYPE}.apk/\1/") - NEW_NAME="BearVPN-android-${ARCH}-${BUILD_TYPE}-${DATE}-${COMMIT_SHA}.apk" + ARCH=$(echo "$file" | sed "s/app-\(.*\)-release.apk/\1/") + NEW_NAME="BearVPN-android-${ARCH}-release-${DATE}-${COMMIT_SHA}.apk" mv "$file" "$NEW_NAME" echo "✅ $NEW_NAME" fi @@ -241,24 +235,18 @@ jobs: flutter pub get flutter pub run build_runner build --delete-conflicting-outputs - - name: 🔨 构建 Windows + - name: 🔨 构建 Windows (Release) run: | - $BUILD_TYPE = "${{ inputs.build_type || 'release' }}" - if ($BUILD_TYPE -eq "release") { - flutter build windows --release - } else { - flutter build windows --debug - } + flutter build windows --release - name: 📦 打包 Windows shell: bash run: | - BUILD_TYPE="${{ inputs.build_type || 'release' }}" COMMIT_SHA=${GITHUB_SHA::7} DATE=$(date '+%Y%m%d') cd build/windows/x64/runner/Release - 7z a -tzip "../../../../../BearVPN-windows-x64-${BUILD_TYPE}-${DATE}-${COMMIT_SHA}.zip" ./* + 7z a -tzip "../../../../../BearVPN-windows-x64-release-${DATE}-${COMMIT_SHA}.zip" ./* - name: 📤 上传 Windows uses: actions/upload-artifact@v4 @@ -307,23 +295,17 @@ jobs: flutter pub get flutter pub run build_runner build --delete-conflicting-outputs - - name: 🔨 构建 macOS + - name: 🔨 构建 macOS (Release) run: | - BUILD_TYPE="${{ inputs.build_type || 'release' }}" - if [ "$BUILD_TYPE" = "release" ]; then - flutter build macos --release - else - flutter build macos --debug - fi + flutter build macos --release - name: 📦 打包 macOS run: | - BUILD_TYPE="${{ inputs.build_type || 'release' }}" COMMIT_SHA=${GITHUB_SHA::7} DATE=$(date '+%Y%m%d') cd build/macos/Build/Products/Release - zip -r -y "../../../../../BearVPN-macos-${BUILD_TYPE}-${DATE}-${COMMIT_SHA}.zip" BearVPN.app + zip -r -y "../../../../../BearVPN-macos-release-${DATE}-${COMMIT_SHA}.zip" BearVPN.app - name: 📤 上传 macOS uses: actions/upload-artifact@v4 @@ -348,7 +330,15 @@ jobs: - name: 🔧 安装 Linux 依赖 run: | sudo apt-get update - sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev + sudo apt-get install -y \ + clang \ + cmake \ + ninja-build \ + pkg-config \ + libgtk-3-dev \ + liblzma-dev \ + libstdc++-12-dev \ + libayatana-appindicator3-dev - name: 🔧 设置 Flutter uses: subosito/flutter-action@v2 @@ -377,23 +367,17 @@ jobs: flutter pub get flutter pub run build_runner build --delete-conflicting-outputs - - name: 🔨 构建 Linux + - name: 🔨 构建 Linux (Release) run: | - BUILD_TYPE="${{ inputs.build_type || 'release' }}" - if [ "$BUILD_TYPE" = "release" ]; then - flutter build linux --release - else - flutter build linux --debug - fi + flutter build linux --release - name: 📦 打包 Linux run: | - BUILD_TYPE="${{ inputs.build_type || 'release' }}" COMMIT_SHA=${GITHUB_SHA::7} DATE=$(date '+%Y%m%d') cd build/linux/x64/release/bundle - tar -czf "../../../../../BearVPN-linux-x64-${BUILD_TYPE}-${DATE}-${COMMIT_SHA}.tar.gz" ./* + tar -czf "../../../../../BearVPN-linux-x64-release-${DATE}-${COMMIT_SHA}.tar.gz" ./* - name: 📤 上传 Linux uses: actions/upload-artifact@v4