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 libwebp-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 ./src/win32/icon1.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*'