CI Build Tests #27
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: 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 |