diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1431fdd..66ba525 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ concurrency: cancel-in-progress: true env: - PREMAKE_VERSION: "5.0.0-beta2" + PREMAKE_VERSION: "5.0.0-beta6" jobs: build-win: @@ -28,6 +28,9 @@ jobs: configuration: - debug - release + compiler: + - msvc + - clang arch: - x86 - x64 @@ -56,26 +59,32 @@ jobs: with: version: ${{ env.PREMAKE_VERSION }} - - name: Generate project files + - name: Generate project files (clang) + if: matrix.compiler == 'clang' + run: premake5 --cc=${{matrix.compiler}} vs2022 + + - name: Generate project files (msvc) + if: matrix.compiler == 'msvc' run: premake5 vs2022 - name: Set up problem matching uses: ammaraskar/msvc-problem-matcher@master - - name: Build ${{matrix.arch}} ${{matrix.configuration}} binaries - run: msbuild /m /v:minimal /p:Configuration=${{matrix.configuration}} /p:Platform=${{matrix.platform}} build/alterware-master.sln + - name: Build ${{matrix.arch}} ${{matrix.configuration}} ${{matrix.compiler}} binaries + run: msbuild /m /p:Configuration=${{matrix.configuration}} /p:Platform=${{matrix.platform}} build/alterware-master.sln - - name: Upload ${{matrix.arch}} ${{matrix.configuration}} binaries + - name: Upload ${{matrix.arch}} ${{matrix.configuration}} ${{matrix.compiler}} binaries uses: actions/upload-artifact@main with: - name: windows-${{matrix.arch}}-${{matrix.configuration}} + name: windows-${{matrix.arch}}-${{matrix.configuration}}-${{matrix.compiler}} path: | build/bin/${{matrix.arch}}/${{matrix.configuration}}/alterware-master.exe build/bin/${{matrix.arch}}/${{matrix.configuration}}/alterware-master.pdb build-linux: name: Build Linux - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest + container: ubuntu:noble strategy: fail-fast: false matrix: @@ -86,6 +95,15 @@ jobs: - x86 - x64 steps: + - name: Install g++ and multilib + run: | + apt-get update + apt-get install -y wget tar git make gcc-13 g++-13 gcc-13-multilib g++-13-multilib + update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13 + update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 13 + update-alternatives --set gcc /usr/bin/gcc-13 + update-alternatives --set g++ /usr/bin/g++-13 + - name: Check out files uses: actions/checkout@main with: @@ -97,9 +115,9 @@ jobs: - name: Install dependencies (x86) if: matrix.arch == 'x86' run: | - sudo dpkg --add-architecture i386 - sudo apt-get update - sudo apt-get install gcc-multilib g++-multilib -y + dpkg --add-architecture i386 + apt-get update + apt-get install -y gcc-13-multilib g++-13-multilib - name: Install Premake5 uses: diamante0018/setup-premake@master @@ -111,7 +129,7 @@ jobs: - name: Generate project files working-directory: ${{ github.workspace }} - run: premake5 gmake2 + run: premake5 gmake - name: Set up problem matching uses: ammaraskar/gcc-problem-matcher@master @@ -119,8 +137,7 @@ jobs: - name: Build ${{matrix.arch}} ${{matrix.configuration}} binaries working-directory: ${{ github.workspace }} run: | - pushd build - make config=${{matrix.configuration}}_${{matrix.arch}} -j$(nproc) + make -C build config=${{matrix.configuration}}_${{matrix.arch}} -j$(nproc) - name: Upload ${{matrix.arch}} ${{matrix.configuration}} binaries uses: actions/upload-artifact@main @@ -156,7 +173,7 @@ jobs: version: ${{ env.PREMAKE_VERSION }} - name: Generate project files - run: premake5 gmake2 + run: premake5 gmake - name: Set up problem matching uses: ammaraskar/gcc-problem-matcher@master @@ -231,16 +248,16 @@ jobs: shell: bash - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v3.8.0 + uses: docker/setup-buildx-action@v3.10.0 - name: Login to DockerHub - uses: docker/login-action@v3.3.0 + uses: docker/login-action@v3.4.0 with: username: ${{ secrets.DOCKERHUB_USER }} password: ${{ secrets.DOCKERHUB_TOKEN }} - id: meta - uses: docker/metadata-action@v5.6.1 + uses: docker/metadata-action@v5.7.0 with: images: | alterware/master-server @@ -250,7 +267,7 @@ jobs: - name: Build and Push Docker Image id: build-and-push - uses: docker/build-push-action@v6.13.0 + uses: docker/build-push-action@v6.15.0 with: context: . platforms: linux/amd64 diff --git a/deps/GSL b/deps/GSL index 355982d..3325bbd 160000 --- a/deps/GSL +++ b/deps/GSL @@ -1 +1 @@ -Subproject commit 355982daf6c54ccb11bef8a1c511be2622dec402 +Subproject commit 3325bbd33d24d1f8f5a0f69e782c92ad5a39a68e diff --git a/deps/libtomcrypt b/deps/libtomcrypt index 54f0456..a6b9aff 160000 --- a/deps/libtomcrypt +++ b/deps/libtomcrypt @@ -1 +1 @@ -Subproject commit 54f0456559c8f64b93273a7c71c88a46550eed4e +Subproject commit a6b9aff7aab857fe1b491710a5c5b9e2be49cb08 diff --git a/deps/libtommath b/deps/libtommath index 5938524..e823b0c 160000 --- a/deps/libtommath +++ b/deps/libtommath @@ -1 +1 @@ -Subproject commit 5938524c60a7168ba5babb3e47b5cd4ee6eadb46 +Subproject commit e823b0c34cea291bdb94d672731e1c1f08525557 diff --git a/deps/zlib b/deps/zlib index ef24c4c..5a82f71 160000 --- a/deps/zlib +++ b/deps/zlib @@ -1 +1 @@ -Subproject commit ef24c4c7502169f016dcd2a26923dbaf3216748c +Subproject commit 5a82f71ed1dfc0bec044d9702463dbdf84ea3b71 diff --git a/premake5.lua b/premake5.lua index 2f02655..e98ab6c 100644 --- a/premake5.lua +++ b/premake5.lua @@ -104,7 +104,7 @@ flags {"NoIncrementalLink", "NoMinimalRebuild", "MultiProcessorCompile", "No64Bi filter "configurations:release" optimize "Size" defines "NDEBUG" - flags "FatalCompileWarnings" + fatalwarnings {"All"} filter {} filter "configurations:debug"