mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
* opt: env * fix * fix: regex * fix: android * fix * fix Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me> * fastforge define * fix Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me> --------- Co-authored-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
121 lines
4.7 KiB
YAML
121 lines
4.7 KiB
YAML
name: Build for Linux
|
|
|
|
on:
|
|
pull_request:
|
|
types:
|
|
- opened
|
|
- synchronize
|
|
- reopened
|
|
- ready_for_review
|
|
paths-ignore:
|
|
- "**.md"
|
|
workflow_dispatch:
|
|
inputs:
|
|
branch:
|
|
required: false
|
|
default: "main"
|
|
|
|
jobs:
|
|
build-linux-app:
|
|
name: Release Linux
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v5
|
|
with:
|
|
ref: ${{ github.event.inputs.branch }}
|
|
fetch-depth: 0
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y clang cmake libgtk-3-dev ninja-build libayatana-appindicator3-dev unzip webkit2gtk-4.1 libasound2-dev
|
|
sudo apt-get install -y gcc g++ autoconf automake debhelper glslang-dev ladspa-sdk xutils-dev libasound2-dev \
|
|
libarchive-dev libbluray-dev libbs2b-dev libcaca-dev libcdio-paranoia-dev libdrm-dev \
|
|
libdav1d-dev libdvdnav-dev libegl1-mesa-dev libepoxy-dev libfontconfig-dev libfreetype6-dev \
|
|
libfribidi-dev libgl1-mesa-dev libgbm-dev libgme-dev libgsm1-dev libharfbuzz-dev libjpeg-dev \
|
|
libbrotli-dev liblcms2-dev libmodplug-dev libmp3lame-dev libopenal-dev \
|
|
libopus-dev libopencore-amrnb-dev libopencore-amrwb-dev libpulse-dev librtmp-dev \
|
|
libsdl2-dev libsixel-dev libssh-dev libsoxr-dev libspeex-dev libtool \
|
|
libv4l-dev libva-dev libvdpau-dev libvorbis-dev libvo-amrwbenc-dev \
|
|
libunwind-dev libvpx-dev libwayland-dev libx11-dev libxext-dev \
|
|
libxkbcommon-dev libxrandr-dev libxss-dev libxv-dev libxvidcore-dev \
|
|
linux-libc-dev nasm ninja-build pkg-config python3 python3-docutils wayland-protocols \
|
|
x11proto-core-dev zlib1g-dev libfdk-aac-dev libtheora-dev libwebp-dev \
|
|
unixodbc-dev libpq-dev libxxhash-dev libaom-dev \
|
|
libgtk-3-0 libblkid1 liblzma5 libmpv-dev
|
|
shell: bash
|
|
|
|
- name: Setup flutter
|
|
uses: subosito/flutter-action@v2
|
|
with:
|
|
channel: stable
|
|
flutter-version-file: pubspec.yaml
|
|
cache: true
|
|
|
|
- name: Set and Extract version
|
|
shell: pwsh
|
|
run: lib/scripts/build.ps1
|
|
|
|
#TODO: deb and rpm packages need to be build
|
|
- name: Build Linux
|
|
run: flutter build linux --release -v --pub --dart-define-from-file=pili_release.json
|
|
|
|
- name: Package .tar.gz
|
|
run: tar -zcvf PiliPlus_linux_${{ env.version }}_amd64.tar.gz -C build/linux/x64/release/bundle .
|
|
|
|
- name: Packege deb
|
|
run: |
|
|
printf "建立构建目录...\n"
|
|
mkdir "PiliPlus_linux_${{ env.version }}_amd64"
|
|
pushd "PiliPlus_linux_${{ env.version }}_amd64"
|
|
mkdir -p opt/PiliPlus
|
|
mkdir -p usr/share/applications
|
|
mkdir -p usr/share/icons/hicolor/512x512/apps
|
|
|
|
printf "复制文件...\n"
|
|
cp -r ../build/linux/x64/release/bundle/* opt/PiliPlus
|
|
cp -r ../assets/linux/DEBIAN .
|
|
cp ../assets/linux/piliplus.desktop usr/share/applications
|
|
cp ../assets/images/logo/logo.png usr/share/icons/hicolor/512x512/apps/piliplus.png
|
|
|
|
printf "修改控制文件...\n"
|
|
# 替换版本号
|
|
sed -i "2s/version_need_change/${{ env.version }}/g" DEBIAN/control
|
|
# 计算安装大小并替换
|
|
SIZE_KB=$(du -s -b --apparent-size . | awk '{print int($1)}')
|
|
SIZE_KB=$(($SIZE_KB - $(du -s -b --apparent-size DEBIAN | awk '{print int($1)}')))
|
|
SIZE_KB=$(echo $SIZE_KB | awk '{print int($1/1024 + 0.999)}')
|
|
printf "\t安装大小: %s KB\n" "$SIZE_KB"
|
|
sed -i "9s/size_need_change/${SIZE_KB}/g" DEBIAN/control
|
|
|
|
printf "生成并写入 md5sums ...\n"
|
|
md5sum opt/PiliPlus/piliplus >> DEBIAN/md5sums
|
|
md5sum opt/PiliPlus/lib/* >> DEBIAN/md5sums
|
|
md5sum opt/PiliPlus/data/icudtl.dat >> DEBIAN/md5sums
|
|
|
|
printf "设置权限...\n"
|
|
chmod 0644 DEBIAN/control
|
|
chmod 0644 DEBIAN/md5sums
|
|
chmod 0755 DEBIAN/postinst
|
|
chmod 0755 DEBIAN/postrm
|
|
chmod 0755 DEBIAN/prerm
|
|
|
|
printf "打包 deb 文件...\n"
|
|
popd
|
|
dpkg-deb --build --verbose --root-owner-group "PiliPlus_linux_${{ env.version }}_amd64"
|
|
printf "完成: PiliPlus_linux_%s_amd64.deb\n" "${{ env.version }}"
|
|
shell: bash
|
|
|
|
- name: Upload linux targz package
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Linux_targz_packege
|
|
path: PiliPlus_linux_*.tar.gz
|
|
|
|
- name: Upload linux deb package
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Linux_deb_package
|
|
path: PiliPlus_linux_*.deb
|