Skip to content

fix(CLI): don't read garbage memory #40

fix(CLI): don't read garbage memory

fix(CLI): don't read garbage memory #40

name: Build and Test the project
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- name: Checkout repository
uses: actions/checkout@v7
with:
submodules: 'recursive'
- name: Install system dependencies (Linux)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libwayland-dev libxkbcommon-dev xorg-dev
- name: Build vendored dependencies (Linux)
if: runner.os == 'Linux'
run: make -Clib
- name: Configure CMake (Windows, MacOS)
if: runner.os != 'Linux'
run: >
cmake -B ${{github.workspace}}/build
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install
-DBUILD_TESTS=1
-S ${{ github.workspace }}
- name: Build (Linux)
if: runner.os == 'Linux'
run: make MODE=release
- name: Build (Windows, MacOS)
if: runner.os != 'Linux'
run: cmake --build ${{github.workspace}}/build --config Release
- name: Test (Linux)
if: runner.os == 'Linux'
run: make tests
- name: Test (Windows)
if: runner.os == 'Windows'
run: ${{github.workspace}}/build/Release/tests.exe
- name: Test (MacOS)
if: runner.os == 'MacOS'
run: ${{github.workspace}}/build/tests
- name: Install (Linux)
if: runner.os == 'Linux'
run: make MODE=release install
- name: Install (Windows, MacOS)
if: runner.os != 'Linux'
run: cmake --install ${{github.workspace}}/build
- name: Upload artifacts
uses: actions/upload-artifact@v7
with:
name: PathTracingRenderer-${{runner.os}}
path: ${{github.workspace}}/install
# TODO: create a release if a tag was pushed