mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-12-11 07:37:01 +00:00
Linux/CI: Add ARM AppImage (#1711)
This commit is contained in:
parent
ef1c836290
commit
3f6974fc95
2 changed files with 38 additions and 19 deletions
41
.github/workflows/build.yml
vendored
41
.github/workflows/build.yml
vendored
|
|
@ -13,10 +13,22 @@ on:
|
|||
env:
|
||||
VCPKG_ROOT: "${{github.workspace}}/dependencies/vcpkg"
|
||||
VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite'
|
||||
|
||||
VCPKG_FORCE_DOWNLOADED_BINARIES: true
|
||||
|
||||
jobs:
|
||||
build-ubuntu:
|
||||
runs-on: ubuntu-22.04
|
||||
continue-on-error: true
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-22.04
|
||||
arch: x64
|
||||
- os: ubuntu-22.04-arm
|
||||
arch: arm
|
||||
|
||||
name: build-ubuntu-${{ matrix.arch }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: "Checkout repo"
|
||||
uses: actions/checkout@v4
|
||||
|
|
@ -41,11 +53,6 @@ jobs:
|
|||
sudo apt update -qq
|
||||
sudo apt install -y clang-15 cmake freeglut3-dev libgcrypt20-dev libglm-dev libgtk-3-dev libpulse-dev libsecret-1-dev libsystemd-dev libudev-dev nasm ninja-build libbluetooth-dev
|
||||
|
||||
- name: "Setup cmake"
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
with:
|
||||
cmake-version: '3.29.0'
|
||||
|
||||
- name: "Bootstrap vcpkg"
|
||||
run: |
|
||||
bash ./dependencies/vcpkg/bootstrap-vcpkg.sh
|
||||
|
|
@ -78,11 +85,21 @@ jobs:
|
|||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: cemu-bin-linux-x64
|
||||
name: cemu-bin-linux-${{ matrix.arch }}
|
||||
path: ./bin/Cemu
|
||||
|
||||
build-appimage:
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-22.04
|
||||
arch: x64
|
||||
- os: ubuntu-22.04-arm
|
||||
arch: arm
|
||||
|
||||
name: build-appimage-${{ matrix.arch }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
needs: build-ubuntu
|
||||
steps:
|
||||
- name: Checkout Upstream Repo
|
||||
|
|
@ -90,7 +107,7 @@ jobs:
|
|||
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: cemu-bin-linux-x64
|
||||
name: cemu-bin-linux-${{ matrix.arch }}
|
||||
path: bin
|
||||
|
||||
- name: "Install system dependencies"
|
||||
|
|
@ -102,12 +119,12 @@ jobs:
|
|||
run: |
|
||||
export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
|
||||
export DEPLOY_GTK_VERSION=3
|
||||
dist/linux/appimage.sh
|
||||
dist/linux/appimage.sh ${{ runner.arch }}
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: cemu-appimage-x64
|
||||
name: cemu-appimage-${{ matrix.arch }}
|
||||
path: artifacts
|
||||
|
||||
build-windows:
|
||||
|
|
|
|||
16
dist/linux/appimage.sh
vendored
16
dist/linux/appimage.sh
vendored
|
|
@ -1,20 +1,22 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [ "$1" == 'X64' ]; then CPU_ARCH="x86_64"; else CPU_ARCH="aarch64"; fi
|
||||
|
||||
if [[ -z "${GITHUB_WORKSPACE}" ]]; then
|
||||
export GITHUB_WORKSPACE="."
|
||||
fi
|
||||
|
||||
curl -sSfLO "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
|
||||
curl -sSfLO "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-"${CPU_ARCH}".AppImage"
|
||||
chmod a+x linuxdeploy*.AppImage
|
||||
curl -sSfL https://github.com"$(curl https://github.com/probonopd/go-appimage/releases/expanded_assets/continuous | grep "mkappimage-.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2)" -o mkappimage.AppImage
|
||||
curl -sSfL https://github.com"$(curl https://github.com/probonopd/go-appimage/releases/expanded_assets/continuous | grep "mkappimage-.*-"${CPU_ARCH}".AppImage" | head -n 1 | cut -d '"' -f 2)" -o mkappimage.AppImage
|
||||
chmod a+x mkappimage.AppImage
|
||||
curl -sSfLO "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh"
|
||||
chmod a+x linuxdeploy-plugin-gtk.sh
|
||||
curl -sSfLO "https://github.com/darealshinji/linuxdeploy-plugin-checkrt/releases/download/continuous/linuxdeploy-plugin-checkrt.sh"
|
||||
chmod a+x linuxdeploy-plugin-checkrt.sh
|
||||
|
||||
if [[ ! -e /usr/lib/x86_64-linux-gnu ]]; then
|
||||
sed -i 's#lib\/x86_64-linux-gnu#lib64#g' linuxdeploy-plugin-gtk.sh
|
||||
if [[ ! -e /usr/lib/"${CPU_ARCH}"-linux-gnu ]]; then
|
||||
sed -i 's#lib\/"${CPU_ARCH}"-linux-gnu#lib64#g' linuxdeploy-plugin-gtk.sh
|
||||
fi
|
||||
|
||||
mkdir -p AppDir/usr/bin
|
||||
|
|
@ -32,11 +34,11 @@ cp -r bin/* AppDir/usr/share/Cemu
|
|||
mv AppDir/usr/share/Cemu/Cemu AppDir/usr/bin/
|
||||
chmod +x AppDir/usr/bin/Cemu
|
||||
|
||||
cp /usr/lib/x86_64-linux-gnu/{libsepol.so.1,libffi.so.7,libpcre.so.3,libGLU.so.1,libthai.so.0} AppDir/usr/lib
|
||||
cp /usr/lib/"${CPU_ARCH}"-linux-gnu/{libsepol.so.1,libffi.so.7,libpcre.so.3,libGLU.so.1,libthai.so.0} AppDir/usr/lib
|
||||
|
||||
export UPD_INFO="gh-releases-zsync|cemu-project|Cemu|ci|Cemu.AppImage.zsync"
|
||||
export NO_STRIP=1
|
||||
./linuxdeploy-x86_64.AppImage --appimage-extract-and-run \
|
||||
./linuxdeploy-"${CPU_ARCH}".AppImage --appimage-extract-and-run \
|
||||
--appdir="${GITHUB_WORKSPACE}"/AppDir/ \
|
||||
-d "${GITHUB_WORKSPACE}"/AppDir/info.cemu.Cemu.desktop \
|
||||
-i "${GITHUB_WORKSPACE}"/AppDir/info.cemu.Cemu.png \
|
||||
|
|
@ -54,4 +56,4 @@ echo -e "export LC_ALL=C\nexport FONTCONFIG_PATH=/etc/fonts" >> AppDir/apprun-ho
|
|||
VERSION="${GITVERSION}" ./mkappimage.AppImage --appimage-extract-and-run "${GITHUB_WORKSPACE}"/AppDir
|
||||
|
||||
mkdir -p "${GITHUB_WORKSPACE}"/artifacts/
|
||||
mv Cemu-"${GITVERSION}"-x86_64.AppImage "${GITHUB_WORKSPACE}"/artifacts/
|
||||
mv Cemu-"${GITVERSION}"-"${CPU_ARCH}".AppImage "${GITHUB_WORKSPACE}"/artifacts/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue