mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-21 16:45:44 +00:00
88 lines
2.7 KiB
YAML
88 lines
2.7 KiB
YAML
name: ci
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "main"
|
|
pull_request:
|
|
branches:
|
|
- "main"
|
|
|
|
jobs:
|
|
build-test-linux:
|
|
runs-on: ubuntu-latest
|
|
container: ubuntu:24.04
|
|
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: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Premake generate
|
|
working-directory: ${{ github.workspace }}
|
|
env:
|
|
PREMAKE_NO_PROMPT: 1
|
|
run: ./generate.sh
|
|
|
|
- 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:
|
|
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: Premake generate
|
|
working-directory: ${{ github.workspace }}
|
|
env:
|
|
PREMAKE_NO_PROMPT: 1
|
|
run: ./generate.bat
|
|
|
|
- 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
|