From d4a18f3f4be3607b6c0aae6df6f833e01aac90e0 Mon Sep 17 00:00:00 2001 From: Rachael Alexanderson Date: Thu, 3 Aug 2023 08:08:57 -0400 Subject: [PATCH] - repeat work from https://github.com/ZDoom/Raze/commit/165c7b248f8c8e644272f44bdff78098cd54becb --- .github/workflows/appimage.yml | 53 ++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/appimage.yml diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml new file mode 100644 index 000000000..7f66f40b1 --- /dev/null +++ b/.github/workflows/appimage.yml @@ -0,0 +1,53 @@ +name: Continuous Integration + +on: [push, pull_request] + +jobs: + build-appimage: + name: Linux Clang 12 | AppImage + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Install GZDoom dependencies + run: | + sudo apt-get update + sudo apt-get install clang-12 libsdl2-dev libvpx-dev cmake -y + - name: Install appimage-builder dependencies + run: | + sudo apt-get install binutils coreutils desktop-file-utils fakeroot fuse libgdk-pixbuf2.0-dev patchelf -y + sudo apt-get install python3-pip python3-setuptools squashfs-tools strace util-linux zsync -y + sudo apt-get install imagemagick-6.q16hdri -y + - name: Install appimage-builder + run: | + python3 -m pip install --upgrade pip + pip install appimage-builder + - name: Build zmusic dependency + run: | + git clone -b 1.1.12 https://github.com/ZDoom/ZMusic.git zmusic_build + mkdir ./zmusic_build/build + cd ./zmusic_build/build + cmake -DCMAKE_BUILD_TYPE=Release .. + cmake --build . + cd ../../ + mkdir -p ./AppDir/zmusic/lib + mkdir ./AppDir/zmusic/include + mv ./zmusic_build/build/source/libzmusic* ./AppDir/zmusic/lib/ + mv ./zmusic_build/include/zmusic.h ./AppDir/zmusic/include/ + - name: Configure + run: cmake -B AppDir -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=`pwd`/AppDir/zmusic -DPK3_QUIET_ZIPDIR=ON -DCMAKE_C_COMPILER=clang-12 -DCMAKE_CXX_COMPILER=clang++-12 . + - name: Build + shell: bash + run: | + export MAKEFLAGS=--keep-going + cmake --build AppDir --config Release --parallel `nproc` + cp ./AppDir/zmusic/lib/* ./AppDir/ + mkdir -p ./AppDir/usr/share/icons + convert ./source/platform/win32/game_icon.ico[0] -flatten ./AppDir/usr/share/icons/game_icon.png + - name: Build AppImage + run: | + appimage-builder --skip-tests + - uses: actions/upload-artifact@v2 + with: + name: AppImage + path: './*.AppImage*'