GA/Clang-format: fix ? #154
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
# Copyright (c) 2019-2020-2021 Luca Cappa | ||
# Released under the term specified in file LICENSE.txt | ||
# SPDX short identifier: MIT | ||
name: Build and test | ||
on: | ||
push: | ||
braches : ["main", "new-feature-github-actions"] | ||
jobs: | ||
build-cmake: | ||
name: Build ${{ matrix.config.name }} | ||
runs-on: ${{ matrix.config.os }} | ||
# see https://gist.github.com/NickNaso/0d478f1481686d5bcc868cac06620a60 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
config: | ||
- { | ||
name: "Windows MSVC", | ||
build_dir: "windows-msvc", | ||
os: windows-latest, | ||
build_type: "Release", | ||
cc: "cl", | ||
cxx: "cl", | ||
generators: "Ninja" | ||
} | ||
- { | ||
name: "Windows MinGW", | ||
build_dir: "windows-mingw", | ||
os: windows-latest, | ||
build_type: "Release", | ||
cc: "gcc", | ||
cxx: "g++", | ||
generators: "Ninja" | ||
} | ||
- { | ||
name: "Ubuntu GCC", | ||
build_dir: "ubungu-gcc", | ||
os: ubuntu-22.04, | ||
build_type: "Release", | ||
cc: "gcc", | ||
cxx: "g++", | ||
generators: "Ninja" | ||
} | ||
- { | ||
name: "Ubuntu Clang", | ||
build_dir: "ubuntu-clang", | ||
os: ubuntu-22.04, | ||
build_type: "Release", | ||
cc: "clang", | ||
cxx: "clang++", | ||
generators: "Ninja" | ||
} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: lukka/get-cmake@latest | ||
- uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.11' | ||
- name: Install conan | ||
run: pip3 install conan==1.61.0 | ||
- name: Install cmake-format | ||
run: pip3 install cmake-format | ||
- name: Install clang-tidy | ||
if: matrix.config.os == 'ubuntu-22.04' | ||
run : sudo apt install clang-tidy | ||
- name: Setup MSVC (optional) | ||
if: ${{ matrix.config.cxx == 'cl' }} | ||
uses: ilammy/msvc-dev-cmd@v1 | ||
- name: Confiure | ||
id: runcmake | ||
run: | | ||
cmake -S ${{ github.workspace }} -B "${{ runner.workspace }}/build/${{ runner.config.build_dir }}" -G "${{ matrix.config.generators }}" -DCMAKE_BUILD_TYPE="${{ matrix.config.build_type }}" -DCMAKE_C_COMPILER=${{ matrix.config.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} | ||
- name: Build | ||
id: runcmakebuild | ||
run: | | ||
cmake --build ${{ runner.workspace }}/build/${{ runner.config.build_dir }} --parallel --verbose | ||
- name: Run static analysis | ||
# if: matrix.config.os == 'ubuntu-22.04' | ||
if: false | ||
uses: JacobDomagala/StaticAnalysis@master | ||
with: | ||
language: c++ | ||
# don't fail build, just warn | ||
# continue-on-error: true # Continue on error or failure | ||
# Exclude any issues found in ${Project_root_dir}/lib | ||
exclude_dir: lib | ||
use_cmake: true | ||
cmake_args: -S ${{ github.workspace }} -B "${{ runner.workspace }}/build/${{ runner.config.build_dir }}" -G "${{ matrix.config.generators }}" -DCMAKE_BUILD_TYPE="${{ matrix.config.build_type }}" -DCMAKE_C_COMPILER=${{ matrix.config.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} | ||
# (Optional) clang-tidy args | ||
clang_tidy_args: -checks='*,fuchsia-*,google-*,zircon-*,abseil-*,modernize-use-trailing-return-type' | ||
# (Optional) cppcheck args | ||
# cppcheck_args: --enable=all --suppress=missingInclude --suppress=missingIncludeSystem | ||
cppcheck_args: --enable=all --disable=unusedFunction,missingInclude --suppress=missingIncludeSystem --std=c++17 --language=c++ | ||
- name: Run clang-format style check for C/C++/Protobuf programs. | ||
if: matrix.config.os == 'ubuntu-22.04' | ||
uses: @v4.11.0 | ||
with: | ||
clang-format-version: '17' | ||
check-path: ${{ matrix.path }} | ||
- name: Run clang format | ||
if: false | ||
run : | | ||
ninja -C '${{ runner.workspace }}/build/${{ runner.config.build_dir }}' clang-format | ||
# ninja -C '${{ runner.workspace }}/build/${{ runner.config.build_dir }}' check-clang-format | ||
- name: Run tests | ||
run : '${{ runner.workspace }}/build/${{ runner.config.build_dir }}/bin/test-buttons' |