修复(CI): env LIB (2) #22
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: "temurin" | |
java-version: "17" | |
- run: cd p && ./gradlew assembleDebug | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: app-debug.apk | |
path: p/app/build/outputs/apk/debug/app-debug.apk | |
# 组装 apk 安装所需的一堆文件, 方便安装 | |
setup-apk: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
# ui-vue (pmim-ibus) | |
- uses: robinraju/release-downloader@v1 | |
with: | |
repository: "fm-elpac/pmim-ibus" | |
tag: "v0.1.8" | |
fileName: "ui-vue-dist.tar.zst" | |
# plugin (pmim-ibus) | |
- uses: robinraju/release-downloader@v1 | |
with: | |
repository: "fm-elpac/pmim-ibus" | |
tag: "v0.1.8" | |
fileName: "pmim-plugin.tar.zst" | |
# pmim-server | |
- uses: robinraju/release-downloader@v1 | |
with: | |
repository: "fm-elpac/pmim" | |
tag: "v0.1.5" | |
fileName: "pmim-server.tar.zst" | |
# pmim-data | |
- uses: robinraju/release-downloader@v1 | |
with: | |
repository: "fm-elpac/pmim-data" | |
tag: "v0.1.2" | |
fileName: "pmim_sys.db.zst" | |
# 构建目录 | |
- run: mkdir build1 && mkdir files | |
# 解压文件 | |
- run: mv ui-vue-dist.tar.zst build1 && cd build1 && tar -xvf ui-vue-dist.tar.zst | |
- run: mv pmim-plugin.tar.zst build1 && cd build1 && tar -xvf pmim-plugin.tar.zst | |
- run: mv pmim-server.tar.zst build1 && cd build1 && tar -xvf pmim-server.tar.zst | |
- run: mv pmim_sys.db.zst build1 && cd build1 && zstd -d pmim_sys.db.zst | |
# DEBUG | |
- run: find build1 | |
# 开始组装 | |
- run: mv build1/server files/ | |
- run: mkdir -p files/server/plugin && cp -r build1/plugin/* files/server/plugin | |
- run: cp -r build1/ui-vue/dist/* files/server/static/ | |
- run: mv build1/ui-vue/dist files/ui | |
# DEBUG | |
- run: find files | |
# 不带数据库 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: setup-pmim-apk | |
path: files | |
# 带数据库 | |
- run: mkdir files/pmim | |
- run: mv build1/pmim_sys.db files/pmim/ | |
# DEBUG | |
- run: find files | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: setup-pmim-apk-db | |
path: files | |
# 自动构建 deno 运行环境 (termux-pacman/glibc-packages glibc-runner) | |
setup-deno: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
# deno | |
- uses: robinraju/release-downloader@v1 | |
with: | |
repository: "denoland/deno" | |
tag: "v1.43.3" | |
fileName: "deno-aarch64-unknown-linux-gnu.zip" | |
- run: unzip deno-aarch64-unknown-linux-gnu.zip | |
# termux-pacman/gpkg | |
- run: curl -O https://service.termux-pacman.dev/gpkg/aarch64/gpkg.json | |
- run: curl -v https://service.termux-pacman.dev/gpkg/aarch64/$(cat gpkg.json | jq -r '."glibc".FILENAME') -o glibc.tar.xz | |
- run: curl -v https://service.termux-pacman.dev/gpkg/aarch64/$(cat gpkg.json | jq -r '."gcc-libs-glibc".FILENAME') -o gcc-libs-glibc.tar.xz | |
- run: tar -xvf glibc.tar.xz | |
- run: tar -xvf gcc-libs-glibc.tar.xz | |
# 开始组装 | |
- run: mkdir -p setup-deno/lib | |
- run: cp deno setup-deno/ | |
- run: | | |
LIB=data/data/com.termux/files/usr/glibc/lib | |
cp $LIB/ld-linux-aarch64.so.1 \ | |
$LIB/libc.so.6 \ | |
$LIB/libm.so.6 \ | |
$LIB/libpthread.so.0 \ | |
$LIB/libgcc_s.so.1 \ | |
$LIB/libdl.so.2 \ | |
setup-deno/lib | |
# patchelf | |
- run: | | |
patchelf \ | |
--set-rpath /data/data/io.github.fm_elpac.pmim_apk/files/setup/lib \ | |
--set-interpreter /data/data/io.github.fm_elpac.pmim_apk/files/setup/lib/ld-linux-aarch64.so.1 \ | |
setup-deno/deno | |
# 组装完毕 | |
- run: mv setup-deno setup | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: setup-deno | |
path: setup |