fix: 修复 GitHub Actions 构建配置
- 修复 libcore 编译命令 - 强制所有平台使用 Release 构建 - 添加 Linux tray_manager 依赖
This commit is contained in:
parent
d02eed3bd8
commit
6ca55a3d44
23
.github/workflows/build-android-apk.yml
vendored
23
.github/workflows/build-android-apk.yml
vendored
@ -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
|
||||
|
||||
|
||||
64
.github/workflows/build-multiplatform.yml
vendored
64
.github/workflows/build-multiplatform.yml
vendored
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user