Disable clang-tidy for now #121
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: ci | |
on: | |
pull_request: | |
release: | |
types: [published] | |
push: | |
# tags: | |
# branches: | |
# - main | |
# - develop | |
env: | |
# Conan cache environment variables | |
CONAN_SYSREQUIRES_MODE: enabled | |
CONAN_USER_HOME: "${{ github.workspace }}/conan-cache" | |
CONAN_USER_HOME_SHORT: "${{ github.workspace }}/conan-cache/short" | |
jobs: | |
Clang-tidy: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup Cache | |
uses: ./.github/actions/setup_cache | |
with: | |
compiler: llvm | |
build_type: Release | |
- name: Setup Cpp | |
uses: aminya/setup-cpp@v1 | |
with: | |
compiler: llvm | |
cmake: true | |
conan: "2.6.0" | |
clangtidy: "14.0.0" | |
- name: Setup Linux | |
run: | | |
sudo apt install -y libglfw3-dev libglfw3 | |
- name: Create default conan profile | |
run: | | |
conan profile detect --force | |
- name: Check tool versions | |
uses: ./.github/actions/check_tool_versions | |
with: | |
clangtidy: true | |
- name: Installing conan dependencies | |
run: | | |
conan install . --build=missing -s build_type=Release -s compiler.cppstd=17 | |
- name: Configure CMake | |
run: | | |
cmake -B ./build -S. -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="build/Release/generators/conan_toolchain.cmake" -DENABLE_MAIN=ON -DENABLE_TESTING=ON -DENABLE_DOXYGEN=OFF -DLOG_LEVEL=DATA -DWARNINGS_AS_ERRORS=ON -DENABLE_CPPCHECK=OFF -DENABLE_CLANG_TIDY=ON -DENABLE_INCLUDE_WHAT_YOU_USE=OFF | |
- name: Copy compile commands | |
run: | | |
cmake --build ./build --target copy-compile-commands --config Release | |
#- name: Run clang-tidy on ./src | |
# run: | | |
# python3 ./tools/run-clang-tidy.py $PWD/src | |
#- name: Run clang-tidy on ./test | |
# run: | | |
# python3 ./tools/run-clang-tidy.py $PWD/test | |
Documentation: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup Cache | |
uses: ./.github/actions/setup_cache | |
with: | |
compiler: gcc-11 | |
build_type: Release | |
doxygen: "ON" | |
- name: Setup Cpp | |
uses: aminya/setup-cpp@v1 | |
with: | |
compiler: gcc-11 | |
cmake: true | |
conan: "2.6.0" | |
doxygen: true | |
- name: Setup Linux | |
run: | | |
sudo apt install -y libglfw3-dev libglfw3 | |
sudo apt install -y flex bison graphviz dia mscgen pdf2svg texlive texlive-lang-german texlive-latex-extra ghostscript | |
- name: Create default conan profile | |
run: | | |
conan profile detect --force | |
- name: Check tool versions | |
uses: ./.github/actions/check_tool_versions | |
with: | |
documentation: true | |
- name: Installing conan dependencies | |
run: | | |
conan install . --build=missing -s build_type=Release -s compiler.cppstd=17 | |
- name: Configure CMake | |
run: | | |
cmake -B ./build -S. -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="build/Release/generators/conan_toolchain.cmake" -DENABLE_MAIN=OFF -DENABLE_TESTING=OFF -DENABLE_DOXYGEN=ON -DLOG_LEVEL=OFF -DENABLE_CLANG_TIDY=OFF -DENABLE_CPPCHECK=OFF -DENABLE_INCLUDE_WHAT_YOU_USE=OFF -DDOC_CHECK_CODE_DOCUMENTATION=YES | |
- name: Check documentation | |
run: | | |
cmake --build ./build --target doc --config Release | |
Test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-22.04 | |
- macos-13 | |
- windows-2022 | |
compiler: | |
# you can specify the version after `-` like "llvm-13.0.0". | |
- llvm-14.0.0 | |
- gcc-11 | |
- msvc-2022 | |
build_type: | |
- Release | |
- Debug | |
log-level: | |
- "DEBUG" | |
exclude: | |
- os: ubuntu-22.04 | |
compiler: msvc-2022 | |
- os: macos-13 | |
compiler: gcc-11 | |
- os: macos-13 | |
compiler: msvc-2022 | |
- os: windows-2022 | |
compiler: gcc-11 | |
- os: windows-2022 | |
compiler: llvm-14.0.0 | |
include: | |
# Add appropriate variables for gcov version required. This will intentionally break | |
# if you try to use a compiler that does not have gcov set | |
- compiler: gcc-11 | |
gcov_executable: gcov-11 | |
- compiler: llvm-14.0.0 | |
gcov_executable: "llvm-cov gcov-11" | |
- os: ubuntu-22.04 | |
compiler: gcc-11 | |
build_type: Release | |
log-level: "OFF" | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup Cache | |
uses: ./.github/actions/setup_cache | |
with: | |
compiler: ${{ matrix.compiler }} | |
build_type: ${{ matrix.build_type }} | |
- name: Setup Cpp | |
uses: aminya/setup-cpp@v1 | |
with: | |
compiler: ${{ matrix.compiler }} | |
vcvarsall: ${{ contains(matrix.os, 'windows' )}} | |
cmake: true | |
brew: true | |
conan: "2.6.0" | |
gcovr: "7.2" | |
- name: Setup MacOS | |
if: ${{ runner.os == 'macOS' }} | |
run: | | |
brew install glfw | |
- name: Setup Linux | |
if: ${{ runner.os == 'Linux' }} | |
run: | | |
sudo apt install -y libglfw3-dev libglfw3 | |
- name: Create default conan profile | |
run: | | |
conan profile detect --force | |
- name: Check tool versions | |
uses: ./.github/actions/check_tool_versions | |
with: | |
coverage: true | |
compiler: ${{ matrix.compiler }} | |
- name: Installing conan dependencies | |
run: | | |
conan install . --build=missing -s build_type=${{matrix.build_type}} -s compiler.cppstd=17 | |
- name: Configure CMake | |
run: | | |
cmake -S . -B ./build -DCMAKE_BUILD_TYPE:STRING=${{matrix.build_type}} -DCMAKE_TOOLCHAIN_FILE="build/${{matrix.build_type}}/generators/conan_toolchain.cmake" -DENABLE_MAIN=TRUE -DENABLE_TESTING=TRUE -DENABLE_COVERAGE:BOOL=${{ matrix.build_type == 'Debug' }} -DENABLE_DOXYGEN=OFF -DLOG_LEVEL:STRING=${{matrix.log-level}} -DWARNINGS_AS_ERRORS:BOOL=${{ !contains(matrix.os, 'windows' )}} -DENABLE_CPPCHECK=OFF -DENABLE_CLANG_TIDY=OFF -DENABLE_INCLUDE_WHAT_YOU_USE=OFF | |
- name: Build | |
run: | | |
cmake --build ./build --config ${{matrix.build_type}} | |
- name: Test | |
working-directory: ./build | |
run: | | |
ctest -C ${{matrix.build_type}} --output-on-failure --timeout 180 | |
- name: Coverage | |
if: ${{ runner.os != 'Windows' && matrix.build_type == 'Debug' }} | |
run: | | |
mkdir -p build/coverage | |
gcovr --config doc/coverage/gcovr.cfg --gcov-executable '${{ matrix.gcov_executable }}' | |
- name: Publish to codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
flags: ${{ runner.os }} | |
name: ${{ runner.os }}-coverage | |
files: ./build/cobertura.xml | |
token: ${{ secrets.CODECOV_TOKEN }} |