name: RMG on: [push, pull_request] jobs: Linux: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: hendrikmuhs/ccache-action@v1.2 with: key: Linux - name: Install Packages run: | sudo add-apt-repository ppa:okirby/qt6-backports --yes sudo apt-get -y install cmake ninja-build libhidapi-dev libsamplerate0-dev libspeex-dev libminizip-dev libsdl2-dev libfreetype6-dev libgl1-mesa-dev libglu1-mesa-dev pkg-config zlib1g-dev binutils-dev libspeexdsp-dev qt6-base-dev libqt6svg6-dev libvulkan-dev build-essential nasm git zip appstream - name: Prepare Environment run: | echo "GIT_REVISION=$(git describe --tags --always)" >> $GITHUB_ENV - name: Build RMG (AppImage) run: | mkdir Build Build/AppImage Bin/ -p export src_dir="$(pwd)" export build_dir="$(pwd)/Build/AppImage" export bin_dir="$(pwd)/Bin/AppImage" cmake -S "$src_dir" -B "$build_dir" -DCMAKE_BUILD_TYPE="Release" \ -DUSE_ANGRYLION=ON \ -DCMAKE_INSTALL_PREFIX="/usr" \ -DCMAKE_INSTALL_LIBDIR="lib" \ -DPORTABLE_INSTALL="OFF" \ -DUPDATER=ON -DAPPIMAGE_UPDATER=ON \ -G "Ninja" cmake --build "$build_dir" cmake --install "$build_dir" --strip --prefix="$bin_dir/usr" shell: bash - name: Create AppImage run: | ./Package/AppImage/Create.sh shell: bash - name: Upload RMG (AppImage) uses: actions/upload-artifact@v4 with: name: RMG-Portable-Linux64-${{ env.GIT_REVISION }} path: Bin/*.AppImage Windows: runs-on: windows-2019 steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: hendrikmuhs/ccache-action@v1.2 with: key: Windows - uses: msys2/setup-msys2@v2 with: path-type: inherit update: true install: >- make mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja mingw-w64-x86_64-gcc mingw-w64-x86_64-hidapi mingw-w64-x86_64-freetype mingw-w64-x86_64-libpng mingw-w64-x86_64-SDL2 mingw-w64-x86_64-qt6 mingw-w64-x86_64-SDL2 mingw-w64-x86_64-hidapi mingw-w64-x86_64-speexdsp mingw-w64-x86_64-libsamplerate mingw-w64-x86_64-nasm mingw-w64-x86_64-minizip mingw-w64-x86_64-vulkan-headers git - name: Prepare Environment run: | $env:revision = git describe --tags --always echo "GIT_REVISION=$env:revision" >> $env:GITHUB_ENV shell: pwsh - name: Build RMG (Portable) run: ./Source/Script/Build.sh Release shell: msys2 {0} - name: Create Installer run: .\Build\Release\Source\Installer\CreateInstaller.bat - name: Configure RMG (Portable) run: touch Bin/Release/portable.txt shell: msys2 {0} - name: Upload RMG (Portable) uses: actions/upload-artifact@v4 with: name: RMG-Portable-Windows64-${{ env.GIT_REVISION }} path: Bin/Release/* - name: Upload RMG (Installer) uses: actions/upload-artifact@v4 with: name: RMG-Setup-Windows64-${{ env.GIT_REVISION }} path: Bin/*.exe