on: [push, pull_request] name: Build jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v5 with: persist-credentials: true - name: Checkout lfs run: | git lfs install --local AUTH=$(git config --local http.${{ github.server_url }}/.extraheader) git config --local --unset http.${{ github.server_url }}/.extraheader git config --local http.${{ github.server_url }}/${{ github.repository }}.git/info/lfs/objects/batch.extraheader "$AUTH" git lfs pull - name: Apt update run: sudo apt update - name: Installing build chain run: sudo apt-get install pigz libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libwayland-dev libxkbcommon-dev ninja-build g++ clang pkg-config cmake vulkan-tools vulkan-validationlayers glslc libglfw3 libglfw3-dev libtbb-dev -y; - name: Cache CPM uses: actions/cache@v5 with: path: "~/.cache/CPM/" key: ${{ runner.os }}-CPM - name: Install Vulkan SDK uses: jakoch/install-vulkan-sdk-action@v1 - name: Configure debug run: cd scripts; CPM_SOURCE_CACHE="~/.cache/CPM/" ./configure-debug.sh - name: Configure release run: cd scripts; CPM_SOURCE_CACHE="~/.cache/CPM/" ./configure-release.sh - name: Configure RelWithDeb run: cd scripts; CPM_SOURCE_CACHE="~/.cache/CPM/" ./configure-relwithdeb.sh - name: Build debug run: cd scripts; ./build-debug.sh - name: Build release run: cd scripts; ./build-release.sh - name: Build Release with debug info run: cd scripts; ./build-relwithdeb.sh - name: Copy assets run: |- cp -r build/debug/assets bin/Debug; cp -r build/release/assets bin/Release; cp -r build/relwithdeb/assets bin/RelWithDeb; - name: Packaging run: |- tar -I 'pigz -9' -cf oatmeal-debug-amd64.tar.gz bin/Debug; tar -I 'pigz -9' -cf oatmeal-rel-amd64.tar.gz bin/Release; tar -I 'pigz -9' -cf oatmeal-relwithdeb-amd64.tar.gz bin/Relwithdeb; - uses: akkuman/gitea-release-action@v1 with: files: |- oatmeal-debug-amd64.tar.gz oatmeal-rel-amd64.tar.gz oatmeal-relwithdeb-amd64.tar.gz