diff --git a/.github/workflows/build-appimage.yml b/.github/workflows/build-appimage.yml new file mode 100644 index 00000000..7e7df583 --- /dev/null +++ b/.github/workflows/build-appimage.yml @@ -0,0 +1,55 @@ +name: CMake Build (AppImage x86-64) + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + build: + + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v1 + - name: Install dependencies + run: | + sudo rm -f /etc/apt/sources.list.d/dotnetdev.list /etc/apt/sources.list.d/microsoft-prod.list + sudo apt update + sudo apt install cmake extra-cmake-modules libcurl4-gnutls-dev libpcap0.8-dev libsdl2-dev libqt5multimedia5-plugins qt5-default qtbase5-private-dev qtmultimedia5-dev libslirp0 libslirp-dev libarchive-dev zstd libzstd-dev --allow-downgrades + - name: Create build environment + run: mkdir ${{runner.workspace}}/build + - name: Configure + working-directory: ${{runner.workspace}}/build + run: cmake $GITHUB_WORKSPACE + - name: Make + working-directory: ${{runner.workspace}}/build + run: | + make -j$(nproc --all) + - name: Prepare AppDir for AppImage + working-directory: ${{runner.workspace}}/build + run: | + make install DESTDIR=AppDir + mv ./AppDir/usr/local/bin ./AppDir/usr/bin + mv ./AppDir/usr/local/share ./AppDir/usr/share + rm -rf ./AppDir/usr/local + - name: Prepare necessary Tools for building the AppImage + working-directory: ${{runner.workspace}}/build + run: | + wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage + wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage + chmod a+x linuxdeploy-x86_64.AppImage + chmod a+x linuxdeploy-plugin-qt-x86_64.AppImage + - name: Build the AppImage + working-directory: ${{runner.workspace}}/build + run: | + ./linuxdeploy-x86_64.AppImage --appdir AppDir --plugin qt --output appimage + mkdir dist + cp ./melonDS*.AppImage ./dist + - uses: actions/upload-artifact@v1 + with: + name: melonDS-appimage-x86_64 + path: ${{runner.workspace}}/build/dist