From 3d22c1f0a4f0f3fa27d65e4d1d5809cf13c8c488 Mon Sep 17 00:00:00 2001 From: Daniel Nicoletti Date: Wed, 17 Jan 2024 10:44:48 -0300 Subject: [PATCH] CI: Add static checks --- .github/workflows/static_checks.yml | 57 +++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/static_checks.yml diff --git a/.github/workflows/static_checks.yml b/.github/workflows/static_checks.yml new file mode 100644 index 0000000..633295b --- /dev/null +++ b/.github/workflows/static_checks.yml @@ -0,0 +1,57 @@ +# SPDX-FileCopyrightText: 2024 Klarälvdalens Datakonsult AB, a KDAB Group company +# +# SPDX-License-Identifier: MIT + +name: CI Static Checks + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: + - ubuntu-latest + + config: + - name: clang-tidy + cmake_arg: '-DCMAKE_CXX_CLANG_TIDY=clang-tidy' + + - name: clazy + cmake_arg: '-DCMAKE_CXX_COMPILER=clazy' + apt_pgks: + - clazy + + steps: + - name: Install ninja-build tool + uses: turtlesec-no/get-ninja@main + + - name: Install dependencies on Ubuntu (${{ join(matrix.config.apt_pgks, ' ') }}) + if: ${{ runner.os == 'Linux' && matrix.config.apt_pgks }} + run: | + sudo apt update -qq + echo ${{ join(matrix.config.apt_pgks, ' ') }} | xargs sudo apt install -y + + - uses: actions/checkout@v4 + + - name: Fetch Git submodules + run: git submodule update --init --recursive + + - name: Configure project + run: > + cmake -S . -B ./build -G Ninja ${{ matrix.config.cmake_arg }} + --warn-uninitialized -Werror=dev + -DCMAKE_BUILD_TYPE=Debug + -DKDBindings_TESTS=True + + - name: Build Project + id: ctest + run: cmake --build ./build