Skip to content

Commit 133ffa4

Browse files
committed
chore(ci): add new clang-tidy job
1 parent 55e6232 commit 133ffa4

1 file changed

Lines changed: 29 additions & 16 deletions

File tree

.github/workflows/ci.yml

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -46,44 +46,57 @@ jobs:
4646
- name: configure-debug-gcc11 # For gcc 11, turn off the annoying deprecated-copy warning
4747
if: matrix.build == 'shared-libsystemd' && matrix.compiler == 'g++' && matrix.os == 'ubuntu-22.04'
4848
run: |
49-
mkdir build
50-
cd build
51-
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="-O0 -g -W -Wextra -Wall -Wnon-virtual-dtor -Wno-deprecated-copy -Werror $SDBUSCPP_EXTRA_CXX_FLAGS" -DCMAKE_VERBOSE_MAKEFILE=ON -DSDBUSCPP_INSTALL=ON -DSDBUSCPP_BUILD_TESTS=ON -DSDBUSCPP_BUILD_PERF_TESTS=ON -DSDBUSCPP_BUILD_STRESS_TESTS=ON -DSDBUSCPP_BUILD_CODEGEN=ON -DSDBUSCPP_GOOGLETEST_VERSION=1.14.0 ..
49+
cmake -B _build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="-O0 -g -W -Wextra -Wall -Wnon-virtual-dtor -Wno-deprecated-copy -Werror $SDBUSCPP_EXTRA_CXX_FLAGS" -DCMAKE_VERBOSE_MAKEFILE=ON -DSDBUSCPP_INSTALL=ON -DSDBUSCPP_BUILD_TESTS=ON -DSDBUSCPP_BUILD_PERF_TESTS=ON -DSDBUSCPP_BUILD_STRESS_TESTS=ON -DSDBUSCPP_BUILD_CODEGEN=ON -DSDBUSCPP_GOOGLETEST_VERSION=1.14.0
5250
- name: configure-debug
5351
if: matrix.build == 'shared-libsystemd' && (matrix.compiler != 'g++' || matrix.os != 'ubuntu-22.04')
5452
run: |
55-
mkdir build
56-
cd build
57-
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="-O0 -g -W -Wextra -Wall -Wnon-virtual-dtor -Werror $SDBUSCPP_EXTRA_CXX_FLAGS" -DCMAKE_VERBOSE_MAKEFILE=ON -DSDBUSCPP_INSTALL=ON -DSDBUSCPP_BUILD_TESTS=ON -DSDBUSCPP_BUILD_PERF_TESTS=ON -DSDBUSCPP_BUILD_STRESS_TESTS=ON -DSDBUSCPP_BUILD_CODEGEN=ON -DSDBUSCPP_GOOGLETEST_VERSION=1.14.0 ..
53+
cmake -B _build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="-O0 -g -W -Wextra -Wall -Wnon-virtual-dtor -Werror $SDBUSCPP_EXTRA_CXX_FLAGS" -DCMAKE_VERBOSE_MAKEFILE=ON -DSDBUSCPP_INSTALL=ON -DSDBUSCPP_BUILD_TESTS=ON -DSDBUSCPP_BUILD_PERF_TESTS=ON -DSDBUSCPP_BUILD_STRESS_TESTS=ON -DSDBUSCPP_BUILD_CODEGEN=ON -DSDBUSCPP_GOOGLETEST_VERSION=1.14.0
5854
- name: configure-release-with-embedded-libsystemd
5955
if: matrix.build == 'embedded-static-libsystemd'
6056
run: |
61-
mkdir build
62-
cd build
63-
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="$SDBUSCPP_EXTRA_CXX_FLAGS" -DCMAKE_VERBOSE_MAKEFILE=ON -DSDBUSCPP_INSTALL=ON -DSDBUSCPP_BUILD_TESTS=ON -DSDBUSCPP_BUILD_PERF_TESTS=ON -DSDBUSCPP_BUILD_STRESS_TESTS=ON -DSDBUSCPP_BUILD_CODEGEN=ON -DSDBUSCPP_BUILD_LIBSYSTEMD=ON -DSDBUSCPP_LIBSYSTEMD_VERSION=252 -DSDBUSCPP_GOOGLETEST_VERSION=1.14.0 ..
57+
cmake -B _build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="$SDBUSCPP_EXTRA_CXX_FLAGS" -DCMAKE_VERBOSE_MAKEFILE=ON -DSDBUSCPP_INSTALL=ON -DSDBUSCPP_BUILD_TESTS=ON -DSDBUSCPP_BUILD_PERF_TESTS=ON -DSDBUSCPP_BUILD_STRESS_TESTS=ON -DSDBUSCPP_BUILD_CODEGEN=ON -DSDBUSCPP_BUILD_LIBSYSTEMD=ON -DSDBUSCPP_LIBSYSTEMD_VERSION=252 -DSDBUSCPP_GOOGLETEST_VERSION=1.14.0
6458
- name: make
6559
run: |
66-
cd build
67-
cmake --build . -j4
60+
cmake --build _build -j4
6861
- name: verify
6962
run: |
70-
cd build
71-
sudo cmake --build . --target install
63+
sudo cmake --build _build --target install
7264
ctest --output-on-failure
7365
- name: pack
7466
if: matrix.build == 'shared-libsystemd'
7567
run: |
76-
cd build
68+
cd _build
7769
cpack -G DEB
7870
- name: 'Upload Artifact'
7971
if: matrix.build == 'shared-libsystemd' && matrix.compiler == 'g++'
8072
uses: actions/upload-artifact@v4
8173
with:
8274
name: "debian-packages-${{ matrix.os }}-${{ matrix.compiler }}"
8375
path: |
84-
build/sdbus-c++*.deb
85-
build/sdbus-c++*.ddeb
76+
_build/sdbus-c++*.deb
77+
_build/sdbus-c++*.ddeb
8678
retention-days: 10
79+
static-analysis:
80+
name: static-analysis (ubuntu-24.04, clang-tidy, shared-libsystemd)
81+
runs-on: ubuntu-24.04
82+
strategy:
83+
fail-fast: false
84+
steps:
85+
- uses: actions/checkout@v4
86+
- name: install-deps
87+
run: |
88+
sudo apt-get update -y
89+
sudo apt-get install -y libsystemd-dev libgmock-dev clang
90+
sudo update-alternatives --remove-all cc
91+
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 10
92+
sudo update-alternatives --remove-all c++
93+
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 10
94+
- name: configure
95+
run: |
96+
cmake -B _build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-O0 -g" -DCMAKE_VERBOSE_MAKEFILE=ON -DSDBUSCPP_CLANG_TIDY=ON -DSDBUSCPP_BUILD_TESTS=ON -DSDBUSCPP_BUILD_PERF_TESTS=ON -DSDBUSCPP_BUILD_STRESS_TESTS=ON
97+
- name: make
98+
run: |
99+
cmake --build _build -j4
87100
freebsd-build:
88101
name: build (freebsd, clang/libc++, basu)
89102
runs-on: ubuntu-22.04 # until https://github.com/actions/runner/issues/385

0 commit comments

Comments
 (0)