2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2025-09-02 23:17:26 +00:00
Files
OpenAssetTools/.github/workflows/ci.yaml
dependabot[bot] b9ab05c9f8 chore(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-15 22:51:47 +00:00

102 lines
3.1 KiB
YAML

name: ci
on:
push:
branches:
- "main"
pull_request:
branches:
- "main"
jobs:
build-test-linux:
strategy:
matrix:
build_arch: [x86, x64]
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@v5
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_${{ matrix.build_arch }} all
- name: Test
working-directory: ${{ github.workspace }}/build/lib/Release_${{ matrix.build_arch }}/tests
run: |
./ObjCommonTests
./ObjCompilingTests
./ObjLoadingTests
./ObjWritingTests
./ParserTests
./ZoneCodeGeneratorLibTests
./ZoneCommonTests
build-test-windows:
strategy:
matrix:
build_arch: [x86, x64]
include:
- build_arch: x86
msbuild_config: Win32
- build_arch: x64
msbuild_config: x64
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
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=${{ matrix.msbuild_config }} build
- name: Test
working-directory: ${{ github.workspace }}/build/lib/Release_${{ matrix.build_arch }}/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)
./ObjWritingTests
$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