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 ninja-build g++ clang pkg-config cmake libtbb-dev g++-mingw-w64-x86-64 -y; - name: Cache CPM uses: actions/cache@v5 with: path: "~/.cache/CPM/" key: ${{ runner.os }}-CPM - name: Configure debug run: mkdir -p build; mkdir -p build/debug; cd build/debug; cmake ../../ -G Ninja -DCMAKE_BUILD_TYPE=Debug; - name: Configure Release run: mkdir -p build; mkdir -p build/release; cd build/release; cmake ../../ -G Ninja -DCMAKE_BUILD_TYPE=Release; - name: Configure MinSizeRel run: mkdir -p build; mkdir -p build/minsizerel; cd build/minsizerel; cmake ../../ -G Ninja -DCMAKE_BUILD_TYPE=MinSizeRel; - name: Configure RelWithDeb run: mkdir -p build; mkdir -p build/relwithdeb; cd build/relwithdeb; cmake ../../ -G Ninja -DCMAKE_BUILD_TYPE=RelWithDeb; - name: Build debug run: cd build/debug; ninja; - name: Build Release run: cd build/release; ninja; - name: Build RelWithDeb run: cd build/relwithdeb; ninja; - name: Build MinSizeRel run: cd build/minsizerel; ninja; - name: Packaging run: |- tar -I 'pigz -9' -cf buildscript-debug-amd64.tar.gz --transform 's,^,build-script/,' build/debug LICENSE; tar -I 'pigz -9' -cf buildscript-release-amd64.tar.gz --transform 's,^,build-script/,' build/release LICENSE; tar -I 'pigz -9' -cf buildscript-relwithdeb-amd64.tar.gz --transform 's,^,build-script/,' build/relwithdeb LICENSE; tar -I 'pigz -9' -cf buildscript-minsizerel-amd64.tar.gz --transform 's,^,build-script/,' build/minsizerel LICENSE; - uses: akkuman/gitea-release-action@v1 with: files: |- buildscript-debug-amd64.tar.gz buildscript-release-amd64.tar.gz buildscript-relwithdeb-amd64.tar.gz buildscript-minsizerel-amd64.tar.gz