From 62c4e0f4b24bbd0cfd957f2f3d8aa7b6be9587d7 Mon Sep 17 00:00:00 2001 From: Daniel Svensson Date: Sun, 3 Nov 2024 21:34:39 +0100 Subject: [PATCH] Update GitHub Actions to CMake. --- .github/workflows/build-ezquake.yml | 45 ----------------------- .github/workflows/build-mvdsv.yml | 50 -------------------------- .github/workflows/main.yml | 55 +++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 95 deletions(-) delete mode 100644 .github/workflows/build-ezquake.yml delete mode 100644 .github/workflows/build-mvdsv.yml create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/build-ezquake.yml b/.github/workflows/build-ezquake.yml deleted file mode 100644 index 21c0d31..0000000 --- a/.github/workflows/build-ezquake.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: build ezquake -#on: [pull_request] -on: [push, pull_request] -jobs: - windows-build: -# if: github.repository == 'QW-Group/qwprot' - runs-on: windows-latest - strategy: - fail-fast: false - matrix: - target: [windows-glsl-x64, windows-std-x64, windows-multi-x64] - include: - - target: windows-glsl-x64 - config: rls-modern - platform: x64 - - target: windows-std-x64 - config: rls-classic - platform: x64 - - target: windows-multi-x64 - config: rls-all - platform: x64 - steps: - - name: Checkout qwprot - uses: actions/checkout@v3 - - name: Checkout ezquake - uses: actions/checkout@master - with: - repository: QW-Group/ezquake-source - path: ezquake - submodules: recursive - - name: Update qwprot in ezquake - run: | - cp src/* ./ezquake/src/qwprot/src - - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v1.1 - - name: Build txt2c - run: msbuild ezquake\misc\vstudio\txt2c\txt2c.vcxproj -t:rebuild -property:Configuration=Release - - name: Make dir - run: mkdir ezquake\.vs - - name: Copy txt2c - run: cp ezquake\misc\vstudio\txt2c\.vs\txt2c.exe ezquake\.vs\ - - name: Build ezquake - run: | - cd ezquake - msbuild ezQuake.vcxproj -t:rebuild -property:Configuration=${{ matrix.config }} -property:Platform=${{ matrix.platform }} diff --git a/.github/workflows/build-mvdsv.yml b/.github/workflows/build-mvdsv.yml deleted file mode 100644 index 73e883c..0000000 --- a/.github/workflows/build-mvdsv.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: build mvdsv -#on: [pull_request] -on: [push, pull_request] -jobs: - build: -# if: github.repository == 'QW-Group/qwprot' - runs-on: ubuntu-18.04 - strategy: - fail-fast: false - matrix: - target: [linux-amd64, linux-i686, linux-armhf, linux-aarch64] - include: - - target: linux-amd64 - os: linux - arch: amd64 - ext: ".so" - - target: linux-i686 - os: linux - arch: i686 - ext: ".so" - - target: linux-armhf - os: linux - arch: armhf - ext: ".so" - - target: linux-aarch64 - os: linux - arch: aarch64 - ext: ".so" - steps: - - name: Checkout qwprot - uses: actions/checkout@v3 - - name: Checkout mvdsv - uses: actions/checkout@master - with: - repository: QW-Group/mvdsv - path: ./mvdsv - submodules: recursive - - name: Update qwprot in mvdsv - run: | - cp src/* ./mvdsv/src/qwprot/src - - name: Prepare Build Environment - run: | - sudo apt-get update - sudo apt-get -y install build-essential cmake gcc-i686-linux-gnu - sudo apt-get -y install gcc-arm-linux-gnueabihf pkg-config-arm-linux-gnueabihf libc6-dev-armhf-cross gcc-aarch64-linux-gnu libc6-dev-arm64-cross - sudo apt-get -y install gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 - - name: Build mvdsv - run: | - cd mvdsv - ./build_cmake.sh ${{ matrix.target }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..9956c77 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,55 @@ +name: compile check + +on: [push, pull_request] + +jobs: + ezquake: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - name: Checkout qwprot + uses: actions/checkout@v4 + - name: Checkout ezquake + uses: actions/checkout@v4 + with: + repository: QW-Group/ezquake-source + path: ezquake + submodules: recursive + - name: Update qwprot in ezquake + run: | + cp src/* ezquake/src/qwprot/src + shasum ezquake/src/qwprot/src/protocol.h > checksum + - name: Install dependencies + run: | + sudo apt-get update -qq + sudo apt-get install -qq --no-install-recommends cmake ninja-build libsdl2-dev libjansson-dev libexpat1-dev libcurl4-openssl-dev libpng-dev libjpeg-dev libspeex-dev libspeexdsp-dev libfreetype6-dev libsndfile1-dev libpcre2-dev libminizip-dev + - name: Run CMake + uses: lukka/run-cmake@v10 + with: + cmakeListsTxtPath: '${{ github.workspace }}/ezquake/CMakeLists.txt' + configurePreset: dynamic + buildPreset: dynamic-debug + - name: Verify that build didn't change protocol.h + run: shasum -c checksum + + mvdsv: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - name: Checkout qwprot + uses: actions/checkout@v4 + - name: Checkout mvdsv + uses: actions/checkout@v4 + with: + repository: QW-Group/mvdsv + path: mvdsv + submodules: recursive + - name: Update qwprot in mvdsv + run: | + cp src/* mvdsv/src/qwprot/src + shasum mvdsv/src/qwprot/src/protocol.h > checksum + - name: Build mvdsv + run: ./build_cmake.sh linux-amd64 + working-directory: mvdsv + - name: Verify that build didn't change protocol.h + run: shasum -c checksum