Skip to content

CI Build Tests

CI Build Tests #28

Workflow file for this run

name: CI Build Tests
on:
push:
pull_request:
release:
types: [published]
schedule:
- cron: '30 3 * * 0'
jobs:
cpp_build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
CC: gcc-11
CXX: g++-11
CMAKE_CMD: cmake ..
NAME: gcc-11
- os: ubuntu-latest
CC: gcc-12
CXX: g++-12
CMAKE_CMD: cmake ..
NAME: gcc-12
- os: ubuntu-latest
CC: clang-11
CXX: clang++-11
CMAKE_CMD: cmake ..
NAME: clang-11
- os: ubuntu-latest
CC: clang-12
CXX: clang++-12
CMAKE_CMD: cmake ..
NAME: clang-12
- os: ubuntu-latest
CC: clang-13
CXX: clang++-13
CMAKE_CMD: cmake ..
NAME: clang-13
- os: ubuntu-latest
CC: clang-14
CXX: clang++-14
CMAKE_CMD: cmake ..
NAME: clang-14
- os: ubuntu-latest
CC: clang-15
CXX: clang++-15
CMAKE_CMD: cmake ..
NAME: clang-15
- os: macos-latest
CC: /usr/local/opt/llvm/bin/clang
CXX: /usr/local/opt/llvm/bin/clang++
CMAKE_CMD: cmake ..
NAME: clang
- os: macos-latest
CMAKE_CMD: cmake ..
NAME: AppleClang
- os: windows-latest
CMAKE_CMD: cmake ..
NAME: msvc
- os: windows-latest
CMAKE_CMD: cmake .. -G "Unix Makefiles"
NAME: mingw-gcc
name: ${{ matrix.os }}-${{ matrix.NAME }} - C++ Test
env:
MSBUILD_PATH: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/MSBuild/Current/Bin"
steps:
- uses: actions/checkout@v1
- name: Checkout Submodules
run: |
git submodule update --init --recursive
- name: Create Build Directory
run: mkdir build
- name: Install Dependencies (Linux)
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt update
sudo apt install -y ${{ matrix.CC }}
if [[ "${{ matrix.CXX }}" != *"clang"* ]]; then sudo apt install -y ${{ matrix.CXX }}; fi
- name: Install Dependencies (OSX)
if: matrix.os == 'macos-latest' && matrix.name != 'AppleClang'
run: |
brew cask uninstall --force oclint || true
brew install llvm || brew upgrade llvm
- name: Execute CMake Process
env:
CC: ${{ matrix.CC }}
CXX: ${{ matrix.CXX }}
run: |
cd build
${{ matrix.CMAKE_CMD }}
- name: Build Project
run: |
cd build
cmake --build . -j