Modern documentation #117
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Continuous Integration Build | |
on: | |
workflow_dispatch: # Allow manual triggers | |
pull_request: | |
branches: [ master ] | |
#push: | |
# branches: [ master ] | |
jobs: | |
ubuntu-build: | |
name: Ubuntu Build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Create build directory and run CMake | |
run: | | |
sudo apt-get -y update | |
sudo apt-get -y install freeglut3-dev libboost-dev | |
cmake -S . -B cmake_build_dir -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=cmake_install_dir | |
- name: Build project | |
run: cmake --build cmake_build_dir --target install --config Release -- -j4 | |
- name: Run tests | |
run: ctest -C Release -VV | |
working-directory: cmake_build_dir | |
- name: Create Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Ubuntu-Artifacts | |
path: cmake_install_dir/ | |
if: always() | |
windows-build: | |
name: Windows Build | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Create build directory and run CMake | |
shell: cmd | |
run: | | |
mkdir cmake_download_dir | |
set DOWNLOAD_FILE_BOOST=boost_1_72_0.zip | |
set DOWNLOAD_ADDRESS_BOOST=https://sourceforge.net/projects/boost/files/boost/1.72.0/boost_1_72_0.zip/download | |
echo download file %DOWNLOAD_FILE_BOOST% from address %DOWNLOAD_ADDRESS_BOOST% | |
curl -L -o %DOWNLOAD_FILE_BOOST% %DOWNLOAD_ADDRESS_BOOST% | |
7z x %DOWNLOAD_FILE_BOOST% -ocmake_download_dir | |
cmake -S . -B cmake_build_dir -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=cmake_install_dir -DBOOST_ROOT=cmake_download_dir/boost_1_72_0 | |
- name: Build project | |
run: cmake --build cmake_build_dir --target INSTALL --config Release -- /nologo /verbosity:minimal /maxcpucount:2 /property:MultiProcessorCompilation=true | |
- name: Run tests | |
run: ctest -C Release -VV | |
working-directory: cmake_build_dir | |
- name: Create Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Windows-Artifacts | |
path: cmake_install_dir/ | |
if: always() | |
macos-build: | |
name: MacOS Build | |
runs-on: macos-14 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Create build directory and run CMake | |
run: | | |
brew install boost | |
cmake -S . -B cmake_build_dir -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=cmake_install_dir -DCMAKE_CXX_STANDARD=11 | |
- name: Build project | |
run: cmake --build cmake_build_dir --target install --config Release -- -j4 | |
- name: Run tests | |
run: ctest -C Release -VV | |
working-directory: cmake_build_dir | |
- name: Create Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: MacOS-Artifacts | |
path: cmake_install_dir/ | |
if: always() | |