|
92 | 92 | - name: Verify dependencies |
93 | 93 | run: go mod verify |
94 | 94 |
|
95 | | - - name: Download ECS binaries and prepare for Android |
96 | | - run: | |
97 | | - REPO="oneclickvirt/ecs" |
98 | | - |
99 | | - # 使用 gh CLI 获取最新版本 |
100 | | - echo "获取最新版本信息..." |
101 | | - ECS_VERSION=$(gh release view --repo "$REPO" --json tagName --jq '.tagName') |
102 | | - |
103 | | - if [ -z "$ECS_VERSION" ]; then |
104 | | - echo "错误: 无法获取最新版本" |
105 | | - exit 1 |
106 | | - fi |
107 | | - |
108 | | - echo "ECS 版本: $ECS_VERSION" |
109 | | - |
110 | | - # 创建 jniLibs 目录 |
111 | | - mkdir -p jniLibs/arm64-v8a |
112 | | - mkdir -p jniLibs/x86_64 |
113 | | - |
114 | | - # 下载 Linux ARM64(用于 Android ARM64) |
115 | | - echo "下载 Linux ARM64..." |
116 | | - gh release download "$ECS_VERSION" --repo "$REPO" --pattern "goecs_linux_arm64.zip" --output "/tmp/goecs_linux_arm64.zip" |
117 | | - unzip -q -o "/tmp/goecs_linux_arm64.zip" -d /tmp/ |
118 | | - mv /tmp/goecs jniLibs/arm64-v8a/libgoecs.so |
119 | | - chmod 755 jniLibs/arm64-v8a/libgoecs.so |
120 | | - |
121 | | - # 下载 Linux AMD64(用于 Android x86_64) |
122 | | - echo "下载 Linux AMD64..." |
123 | | - gh release download "$ECS_VERSION" --repo "$REPO" --pattern "goecs_linux_amd64.zip" --output "/tmp/goecs_linux_amd64.zip" |
124 | | - unzip -q -o "/tmp/goecs_linux_amd64.zip" -d /tmp/ |
125 | | - mv /tmp/goecs jniLibs/x86_64/libgoecs.so |
126 | | - chmod 755 jniLibs/x86_64/libgoecs.so |
127 | | - |
128 | | - # 下载 proot(用于在 Android 上运行 Linux 二进制文件) |
129 | | - echo "下载 proot..." |
130 | | - PROOT_VERSION="5.4.0" |
131 | | - |
132 | | - # ARM64 proot |
133 | | - curl -L "https://github.com/proot-me/proot/releases/download/v${PROOT_VERSION}/proot-v${PROOT_VERSION}-aarch64-static" \ |
134 | | - -o jniLibs/arm64-v8a/libproot.so |
135 | | - chmod 755 jniLibs/arm64-v8a/libproot.so |
136 | | - |
137 | | - # x86_64 proot |
138 | | - curl -L "https://github.com/proot-me/proot/releases/download/v${PROOT_VERSION}/proot-v${PROOT_VERSION}-x86_64-static" \ |
139 | | - -o jniLibs/x86_64/libproot.so |
140 | | - chmod 755 jniLibs/x86_64/libproot.so |
141 | | - |
142 | | - echo "" |
143 | | - echo "jniLibs 文件列表:" |
144 | | - ls -lh jniLibs/*/*.so |
145 | | - echo "" |
146 | | - echo "文件大小:" |
147 | | - du -sh jniLibs/*/*.so |
148 | | - env: |
149 | | - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
150 | | - |
151 | 95 | - name: Update FyneApp.toml version |
152 | 96 | run: | |
153 | 97 | sed -i "s/Version = .*/Version = \"${{ needs.prepare.outputs.version }}\"/" FyneApp.toml |
@@ -280,62 +224,6 @@ jobs: |
280 | 224 | - name: Verify dependencies |
281 | 225 | run: go mod verify |
282 | 226 |
|
283 | | - - name: Download ECS binaries for embed |
284 | | - shell: bash |
285 | | - run: | |
286 | | - REPO="oneclickvirt/ecs" |
287 | | - BINARIES_DIR="embedding/binaries" |
288 | | - TARGET_OS="${{ matrix.platform }}" |
289 | | - TARGET_ARCH="${{ matrix.arch }}" |
290 | | - |
291 | | - mkdir -p "$BINARIES_DIR" |
292 | | - |
293 | | - # 使用 gh CLI 获取最新版本(更简单可靠) |
294 | | - echo "获取最新版本信息..." |
295 | | - ECS_VERSION=$(gh release view --repo "$REPO" --json tagName --jq '.tagName') |
296 | | - |
297 | | - if [ -z "$ECS_VERSION" ]; then |
298 | | - echo "错误: 无法获取最新版本" |
299 | | - exit 1 |
300 | | - fi |
301 | | - |
302 | | - echo "ECS 版本: $ECS_VERSION" |
303 | | - echo "目标平台: $TARGET_OS/$TARGET_ARCH" |
304 | | - |
305 | | - # Windows 需要 .exe 后缀 |
306 | | - if [ "$TARGET_OS" == "windows" ]; then |
307 | | - OUTPUT_FILE="${BINARIES_DIR}/goecs-${TARGET_OS}-${TARGET_ARCH}.exe" |
308 | | - else |
309 | | - OUTPUT_FILE="${BINARIES_DIR}/goecs-${TARGET_OS}-${TARGET_ARCH}" |
310 | | - fi |
311 | | - |
312 | | - PATTERN="goecs_${TARGET_OS}_${TARGET_ARCH}.zip" |
313 | | - |
314 | | - echo "下载 ${TARGET_OS}/${TARGET_ARCH}..." |
315 | | - echo "Pattern: $PATTERN" |
316 | | - echo "Output: $OUTPUT_FILE" |
317 | | - |
318 | | - # 下载到临时文件 |
319 | | - gh release download "$ECS_VERSION" --repo "$REPO" --pattern "$PATTERN" --output "/tmp/goecs.zip" |
320 | | - unzip -q -o "/tmp/goecs.zip" -d /tmp/ |
321 | | - |
322 | | - if [ -f "/tmp/goecs.exe" ]; then |
323 | | - mv /tmp/goecs.exe "$OUTPUT_FILE" |
324 | | - elif [ -f "/tmp/goecs" ]; then |
325 | | - mv /tmp/goecs "$OUTPUT_FILE" |
326 | | - chmod +x "$OUTPUT_FILE" |
327 | | - else |
328 | | - echo "错误: 找不到解压后的二进制文件" |
329 | | - exit 1 |
330 | | - fi |
331 | | - |
332 | | - echo "" |
333 | | - echo "二进制文件列表:" |
334 | | - ls -lh "${BINARIES_DIR}/" |
335 | | - echo "" |
336 | | - env: |
337 | | - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
338 | | - |
339 | 227 | - name: Update FyneApp.toml version |
340 | 228 | shell: bash |
341 | 229 | run: | |
|
0 commit comments