mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-19 07:42:54 +00:00
101 lines
3.0 KiB
YAML
101 lines
3.0 KiB
YAML
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
|
|
container: ubuntu:24.04
|
|
steps:
|
|
- name: Install g++ and multilib
|
|
run: |
|
|
apt-get update
|
|
apt-get install -y 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: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Setup premake
|
|
uses: abel0b/setup-premake@v2.4
|
|
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
|
|
./ObjCompilingTests
|
|
./ObjLoadingTests
|
|
./ParserTests
|
|
./ZoneCodeGeneratorLibTests
|
|
./ZoneCommonTests
|
|
|
|
build-test-windows:
|
|
env:
|
|
PREMAKE_CONFIG: vs2022
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Add MSBuild to PATH
|
|
uses: microsoft/setup-msbuild@v2.0.0
|
|
|
|
- name: Setup premake
|
|
uses: abel0b/setup-premake@v2.4
|
|
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: |
|
|
$combinedExitCode = 0
|
|
./ObjCommonTests
|
|
$combinedExitCode = [System.Math]::max($combinedExitCode, $LASTEXITCODE)
|
|
./ObjCompilingTests
|
|
$combinedExitCode = [System.Math]::max($combinedExitCode, $LASTEXITCODE)
|
|
./ObjLoadingTests
|
|
$combinedExitCode = [System.Math]::max($combinedExitCode, $LASTEXITCODE)
|
|
./ParserTests
|
|
$combinedExitCode = [System.Math]::max($combinedExitCode, $LASTEXITCODE)
|
|
./ZoneCodeGeneratorLibTests
|
|
$combinedExitCode = [System.Math]::max($combinedExitCode, $LASTEXITCODE)
|
|
./ZoneCommonTests
|
|
$combinedExitCode = [System.Math]::max($combinedExitCode, $LASTEXITCODE)
|
|
exit $combinedExitCode
|