Add CI with github actions

This commit is contained in:
Jan 2023-06-18 11:22:54 +02:00
parent e88f697ef3
commit ca5bc79661

83
.github/workflows/ci.yaml vendored Normal file
View File

@ -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