From ca5bc7966127d8f493d57d19a1337d9e267ce854 Mon Sep 17 00:00:00 2001 From: Jan Date: Sun, 18 Jun 2023 11:22:54 +0200 Subject: [PATCH] Add CI with github actions --- .github/workflows/ci.yaml | 83 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 00000000..ba6001f5 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,83 @@ +name: ci + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +env: + PREMAKE_VERSION: "5.0.0-beta2" + +jobs: + build-test-linux: + env: + PREMAKE_CONFIG: gmake2 + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Install multilib + run: | + sudo apt-get update + sudo apt-get install gcc-multilib g++-multilib + + - name: Setup premake + uses: abel0b/setup-premake@v2.1 + with: + version: ${{ env.PREMAKE_VERSION }} + + - name: Premake generate + working-directory: ${{ github.workspace }} + run: premake5 ${{ env.PREMAKE_CONFIG }} + + - name: Build + working-directory: ${{ github.workspace }} + run: make -C build -j$(nproc) config=release_x86 all + + - name: Test + working-directory: ${{ github.workspace }}/build/lib/Release_x86/tests + run: | + ./ObjCommonTests + ./ObjLoadingTests + ./ParserTests + ./ZoneCodeGeneratorLibTests + ./ZoneCommonTests + + build-test-windows: + env: + PREMAKE_CONFIG: vs2022 + runs-on: windows-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Add MSBuild to PATH + uses: microsoft/setup-msbuild@v1.0.2 + + - name: Setup premake + uses: abel0b/setup-premake@v2.1 + with: + version: ${{ env.PREMAKE_VERSION }} + + - name: Premake generate + working-directory: ${{ github.workspace }} + run: premake5 ${{ env.PREMAKE_CONFIG }} + + - name: Build + working-directory: ${{ github.workspace }} + run: msbuild /m /p:Configuration=Release /p:Platform=Win32 build + + - name: Test + working-directory: ${{ github.workspace }}/build/lib/Release_x86/tests + run: | + ./ObjCommonTests + ./ObjLoadingTests + ./ParserTests + ./ZoneCodeGeneratorLibTests + ./ZoneCommonTests \ No newline at end of file