fix:工具链问题修复

This commit is contained in:
spiritlhl
2025-11-01 12:35:42 +08:00
parent be33ac3542
commit e3c4dfee90

View File

@@ -40,17 +40,7 @@ jobs:
build-android:
name: Build Android APK
needs: prepare
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-24.04-arm
arch: arm64
name: android-arm64
- os: ubuntu-latest
arch: amd64
name: android-x86_64
runs-on: ubuntu-latest
steps:
- name: Checkout code
@@ -106,11 +96,10 @@ jobs:
run: |
REPO="oneclickvirt/ecs"
BINARIES_DIR="embedding/binaries"
TARGET_ARCH="${{ matrix.arch }}"
mkdir -p "$BINARIES_DIR"
# 使用 gh CLI 获取最新版本(更简单可靠)
# 使用 gh CLI 获取最新版本
echo "获取最新版本信息..."
ECS_VERSION=$(gh release view --repo "$REPO" --json tagName --jq '.tagName')
@@ -120,17 +109,20 @@ jobs:
fi
echo "ECS 版本: $ECS_VERSION"
echo "目标架构: $TARGET_ARCH"
# 根据架构下载对应的二进制
PATTERN="goecs_linux_${TARGET_ARCH}.zip"
OUTPUT_FILE="${BINARIES_DIR}/goecs-linux-${TARGET_ARCH}"
# 下载 Linux ARM64用于 Android ARM64
echo "下载 Linux ARM64..."
gh release download "$ECS_VERSION" --repo "$REPO" --pattern "goecs_linux_arm64.zip" --output "/tmp/goecs_linux_arm64.zip"
unzip -q -o "/tmp/goecs_linux_arm64.zip" -d /tmp/
mv /tmp/goecs "${BINARIES_DIR}/goecs-linux-arm64"
chmod +x "${BINARIES_DIR}/goecs-linux-arm64"
echo "下载 Linux ${TARGET_ARCH}..."
gh release download "$ECS_VERSION" --repo "$REPO" --pattern "$PATTERN" --output "/tmp/goecs.zip"
unzip -q -o "/tmp/goecs.zip" -d /tmp/
mv /tmp/goecs "$OUTPUT_FILE"
chmod +x "$OUTPUT_FILE"
# 下载 Linux AMD64用于 Android x86_64
echo "下载 Linux AMD64..."
gh release download "$ECS_VERSION" --repo "$REPO" --pattern "goecs_linux_amd64.zip" --output "/tmp/goecs_linux_amd64.zip"
unzip -q -o "/tmp/goecs_linux_amd64.zip" -d /tmp/
mv /tmp/goecs "${BINARIES_DIR}/goecs-linux-amd64"
chmod +x "${BINARIES_DIR}/goecs-linux-amd64"
echo ""
echo "二进制文件列表:"
@@ -144,23 +136,36 @@ jobs:
sed -i "s/Version = .*/Version = \"${{ needs.prepare.outputs.version }}\"/" FyneApp.toml
cat FyneApp.toml
- name: Build Android APK (${{ matrix.arch }})
- name: Build Android APK (arm64)
env:
ANDROID_NDK_HOME: ${{ env.ANDROID_NDK_HOME }}
GOPRIVATE: github.com/oneclickvirt/security
GOOS: android
GOARCH: arm64
run: |
if [ "${{ matrix.arch }}" == "arm64" ]; then
fyne package --os android --app-id com.oneclickvirt.goecs --app-version "${{ needs.prepare.outputs.app_version }}"
else
fyne package --os android/amd64 --app-id com.oneclickvirt.goecs --app-version "${{ needs.prepare.outputs.app_version }}"
fi
fyne package --os android --app-id com.oneclickvirt.goecs --app-version "${{ needs.prepare.outputs.app_version }}"
if [ -f *.apk ]; then
mkdir -p .build
mv *.apk .build/goecs-gui-${{ matrix.name }}-${{ needs.prepare.outputs.version }}.apk
echo "${{ matrix.arch }} APK 构建成功"
mv *.apk .build/goecs-gui-android-arm64-${{ needs.prepare.outputs.version }}.apk
echo "ARM64 APK 构建成功"
else
echo "${{ matrix.arch }} APK 构建失败"
echo "ARM64 APK 构建失败"
exit 1
fi
- name: Build Android APK (x86_64)
env:
ANDROID_NDK_HOME: ${{ env.ANDROID_NDK_HOME }}
GOPRIVATE: github.com/oneclickvirt/security
GOOS: android
GOARCH: amd64
run: |
fyne package --os android/amd64 --app-id com.oneclickvirt.goecs --app-version "${{ needs.prepare.outputs.app_version }}"
if [ -f *.apk ]; then
mv *.apk .build/goecs-gui-android-x86_64-${{ needs.prepare.outputs.version }}.apk
echo "x86_64 APK 构建成功"
else
echo "x86_64 APK 构建失败"
exit 1
fi
@@ -197,11 +202,18 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload APK
- name: Upload ARM64 APK
uses: actions/upload-artifact@v4
with:
name: goecs-gui-${{ matrix.name }}-${{ needs.prepare.outputs.version }}
path: .build/goecs-gui-${{ matrix.name }}-${{ needs.prepare.outputs.version }}.apk
name: goecs-gui-android-arm64-${{ needs.prepare.outputs.version }}
path: .build/goecs-gui-android-arm64-${{ needs.prepare.outputs.version }}.apk
retention-days: 90
- name: Upload x86_64 APK
uses: actions/upload-artifact@v4
with:
name: goecs-gui-android-x86_64-${{ needs.prepare.outputs.version }}
path: .build/goecs-gui-android-x86_64-${{ needs.prepare.outputs.version }}.apk
retention-days: 90
build-desktop: