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
|
working-directory: libcore
|
||||||
run: |
|
run: |
|
||||||
echo "🚀 开始编译 libcore..."
|
echo "🚀 开始编译 libcore..."
|
||||||
bash docker-compile.sh || make android
|
make android
|
||||||
|
|
||||||
echo "✅ 编译完成,检查产物..."
|
echo "✅ 编译完成,检查产物..."
|
||||||
ls -lh bin/
|
ls -lh bin/
|
||||||
@ -177,13 +177,9 @@ jobs:
|
|||||||
flutter pub get
|
flutter pub get
|
||||||
flutter pub run build_runner build --delete-conflicting-outputs
|
flutter pub run build_runner build --delete-conflicting-outputs
|
||||||
|
|
||||||
- name: 🔨 构建 APK
|
- name: 🔨 构建 APK (Release)
|
||||||
run: |
|
run: |
|
||||||
if [ "${{ matrix.build_type }}" = "release" ]; then
|
flutter build apk --release --split-per-abi
|
||||||
flutter build apk --release --split-per-abi
|
|
||||||
else
|
|
||||||
flutter build apk --debug --split-per-abi
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: 📋 生成构建信息
|
- name: 📋 生成构建信息
|
||||||
id: build_info
|
id: build_info
|
||||||
@ -201,17 +197,16 @@ jobs:
|
|||||||
|
|
||||||
- name: 📦 重命名 APK 文件
|
- name: 📦 重命名 APK 文件
|
||||||
run: |
|
run: |
|
||||||
BUILD_TYPE="${{ matrix.build_type }}"
|
|
||||||
COMMIT_SHA=${{ steps.build_info.outputs.commit_sha }}
|
COMMIT_SHA=${{ steps.build_info.outputs.commit_sha }}
|
||||||
DATE=$(date '+%Y%m%d')
|
DATE=$(date '+%Y%m%d')
|
||||||
|
|
||||||
cd build/app/outputs/flutter-apk/
|
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
|
if [ -f "$file" ]; then
|
||||||
# 提取架构名称 (arm64-v8a, armeabi-v7a, x86_64)
|
# 提取架构名称 (arm64-v8a, armeabi-v7a, x86_64)
|
||||||
ARCH=$(echo "$file" | sed "s/app-\(.*\)-${BUILD_TYPE}.apk/\1/")
|
ARCH=$(echo "$file" | sed "s/app-\(.*\)-release.apk/\1/")
|
||||||
NEW_NAME="BearVPN-${ARCH}-${BUILD_TYPE}-${DATE}-${COMMIT_SHA}.apk"
|
NEW_NAME="BearVPN-${ARCH}-release-${DATE}-${COMMIT_SHA}.apk"
|
||||||
|
|
||||||
mv "$file" "$NEW_NAME"
|
mv "$file" "$NEW_NAME"
|
||||||
|
|
||||||
@ -230,21 +225,21 @@ jobs:
|
|||||||
- name: 📤 上传 APK (arm64-v8a)
|
- name: 📤 上传 APK (arm64-v8a)
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: apk-arm64-v8a-${{ matrix.build_type }}
|
name: apk-arm64-v8a-release
|
||||||
path: build/app/outputs/flutter-apk/*arm64-v8a*.apk
|
path: build/app/outputs/flutter-apk/*arm64-v8a*.apk
|
||||||
retention-days: 30
|
retention-days: 30
|
||||||
|
|
||||||
- name: 📤 上传 APK (armeabi-v7a)
|
- name: 📤 上传 APK (armeabi-v7a)
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: apk-armeabi-v7a-${{ matrix.build_type }}
|
name: apk-armeabi-v7a-release
|
||||||
path: build/app/outputs/flutter-apk/*armeabi-v7a*.apk
|
path: build/app/outputs/flutter-apk/*armeabi-v7a*.apk
|
||||||
retention-days: 30
|
retention-days: 30
|
||||||
|
|
||||||
- name: 📤 上传 APK (x86_64)
|
- name: 📤 上传 APK (x86_64)
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: apk-x86_64-${{ matrix.build_type }}
|
name: apk-x86_64-release
|
||||||
path: build/app/outputs/flutter-apk/*x86_64*.apk
|
path: build/app/outputs/flutter-apk/*x86_64*.apk
|
||||||
retention-days: 30
|
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
|
working-directory: libcore
|
||||||
run: |
|
run: |
|
||||||
echo "🚀 开始编译 Android libcore..."
|
echo "🚀 开始编译 Android libcore..."
|
||||||
bash docker-compile.sh || make android
|
make android
|
||||||
|
|
||||||
if [ -f "bin/libcore.aar" ]; then
|
if [ -f "bin/libcore.aar" ]; then
|
||||||
echo "✅ libcore.aar 生成成功"
|
echo "✅ libcore.aar 生成成功"
|
||||||
@ -168,26 +168,20 @@ jobs:
|
|||||||
flutter pub get
|
flutter pub get
|
||||||
flutter pub run build_runner build --delete-conflicting-outputs
|
flutter pub run build_runner build --delete-conflicting-outputs
|
||||||
|
|
||||||
- name: 🔨 构建 APK
|
- name: 🔨 构建 APK (Release)
|
||||||
run: |
|
run: |
|
||||||
BUILD_TYPE="${{ inputs.build_type || 'release' }}"
|
flutter build apk --release --split-per-abi
|
||||||
if [ "$BUILD_TYPE" = "release" ]; then
|
|
||||||
flutter build apk --release --split-per-abi
|
|
||||||
else
|
|
||||||
flutter build apk --debug --split-per-abi
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: 📦 重命名 APK
|
- name: 📦 重命名 APK
|
||||||
run: |
|
run: |
|
||||||
BUILD_TYPE="${{ inputs.build_type || 'release' }}"
|
|
||||||
COMMIT_SHA=${GITHUB_SHA::7}
|
COMMIT_SHA=${GITHUB_SHA::7}
|
||||||
DATE=$(date '+%Y%m%d')
|
DATE=$(date '+%Y%m%d')
|
||||||
cd build/app/outputs/flutter-apk/
|
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
|
if [ -f "$file" ]; then
|
||||||
ARCH=$(echo "$file" | sed "s/app-\(.*\)-${BUILD_TYPE}.apk/\1/")
|
ARCH=$(echo "$file" | sed "s/app-\(.*\)-release.apk/\1/")
|
||||||
NEW_NAME="BearVPN-android-${ARCH}-${BUILD_TYPE}-${DATE}-${COMMIT_SHA}.apk"
|
NEW_NAME="BearVPN-android-${ARCH}-release-${DATE}-${COMMIT_SHA}.apk"
|
||||||
mv "$file" "$NEW_NAME"
|
mv "$file" "$NEW_NAME"
|
||||||
echo "✅ $NEW_NAME"
|
echo "✅ $NEW_NAME"
|
||||||
fi
|
fi
|
||||||
@ -241,24 +235,18 @@ jobs:
|
|||||||
flutter pub get
|
flutter pub get
|
||||||
flutter pub run build_runner build --delete-conflicting-outputs
|
flutter pub run build_runner build --delete-conflicting-outputs
|
||||||
|
|
||||||
- name: 🔨 构建 Windows
|
- name: 🔨 构建 Windows (Release)
|
||||||
run: |
|
run: |
|
||||||
$BUILD_TYPE = "${{ inputs.build_type || 'release' }}"
|
flutter build windows --release
|
||||||
if ($BUILD_TYPE -eq "release") {
|
|
||||||
flutter build windows --release
|
|
||||||
} else {
|
|
||||||
flutter build windows --debug
|
|
||||||
}
|
|
||||||
|
|
||||||
- name: 📦 打包 Windows
|
- name: 📦 打包 Windows
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
BUILD_TYPE="${{ inputs.build_type || 'release' }}"
|
|
||||||
COMMIT_SHA=${GITHUB_SHA::7}
|
COMMIT_SHA=${GITHUB_SHA::7}
|
||||||
DATE=$(date '+%Y%m%d')
|
DATE=$(date '+%Y%m%d')
|
||||||
|
|
||||||
cd build/windows/x64/runner/Release
|
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
|
- name: 📤 上传 Windows
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
@ -307,23 +295,17 @@ jobs:
|
|||||||
flutter pub get
|
flutter pub get
|
||||||
flutter pub run build_runner build --delete-conflicting-outputs
|
flutter pub run build_runner build --delete-conflicting-outputs
|
||||||
|
|
||||||
- name: 🔨 构建 macOS
|
- name: 🔨 构建 macOS (Release)
|
||||||
run: |
|
run: |
|
||||||
BUILD_TYPE="${{ inputs.build_type || 'release' }}"
|
flutter build macos --release
|
||||||
if [ "$BUILD_TYPE" = "release" ]; then
|
|
||||||
flutter build macos --release
|
|
||||||
else
|
|
||||||
flutter build macos --debug
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: 📦 打包 macOS
|
- name: 📦 打包 macOS
|
||||||
run: |
|
run: |
|
||||||
BUILD_TYPE="${{ inputs.build_type || 'release' }}"
|
|
||||||
COMMIT_SHA=${GITHUB_SHA::7}
|
COMMIT_SHA=${GITHUB_SHA::7}
|
||||||
DATE=$(date '+%Y%m%d')
|
DATE=$(date '+%Y%m%d')
|
||||||
|
|
||||||
cd build/macos/Build/Products/Release
|
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
|
- name: 📤 上传 macOS
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
@ -348,7 +330,15 @@ jobs:
|
|||||||
- name: 🔧 安装 Linux 依赖
|
- name: 🔧 安装 Linux 依赖
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
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
|
- name: 🔧 设置 Flutter
|
||||||
uses: subosito/flutter-action@v2
|
uses: subosito/flutter-action@v2
|
||||||
@ -377,23 +367,17 @@ jobs:
|
|||||||
flutter pub get
|
flutter pub get
|
||||||
flutter pub run build_runner build --delete-conflicting-outputs
|
flutter pub run build_runner build --delete-conflicting-outputs
|
||||||
|
|
||||||
- name: 🔨 构建 Linux
|
- name: 🔨 构建 Linux (Release)
|
||||||
run: |
|
run: |
|
||||||
BUILD_TYPE="${{ inputs.build_type || 'release' }}"
|
flutter build linux --release
|
||||||
if [ "$BUILD_TYPE" = "release" ]; then
|
|
||||||
flutter build linux --release
|
|
||||||
else
|
|
||||||
flutter build linux --debug
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: 📦 打包 Linux
|
- name: 📦 打包 Linux
|
||||||
run: |
|
run: |
|
||||||
BUILD_TYPE="${{ inputs.build_type || 'release' }}"
|
|
||||||
COMMIT_SHA=${GITHUB_SHA::7}
|
COMMIT_SHA=${GITHUB_SHA::7}
|
||||||
DATE=$(date '+%Y%m%d')
|
DATE=$(date '+%Y%m%d')
|
||||||
|
|
||||||
cd build/linux/x64/release/bundle
|
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
|
- name: 📤 上传 Linux
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user