Skip to content

Commit e50f99b

Browse files
committed
Add clang-tidy workflow
1 parent fa46d9f commit e50f99b

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

.github/workflows/clang-tidy.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: clang-tidy
2+
3+
on: workflow_dispatch
4+
5+
jobs:
6+
clang-tidy:
7+
runs-on: ubuntu-latest
8+
strategy:
9+
fail-fast: false
10+
matrix:
11+
image: ["debian:bookworm", "debian:testing", "debian:experimental"]
12+
include:
13+
- image: "debian:bookworm"
14+
clang: 15
15+
- image: "debian:testing"
16+
clang: 19
17+
- image: "debian:experimental"
18+
clang: 20
19+
container:
20+
image: ${{ matrix.image }}
21+
env:
22+
BUILD_TYPE: Dev
23+
CC: clang-${{ matrix.clang }}
24+
CXX: clang++-${{ matrix.clang }}
25+
CPP_VERSION: c++14
26+
APT_LISTCHANGES_FRONTEND: none
27+
DEBIAN_FRONTEND: noninteractive
28+
steps:
29+
- name: Prepare container (apt)
30+
run: |
31+
apt-get update -qq
32+
apt-get install -yq \
33+
clang-${{ matrix.clang }} \
34+
clang-tidy-${{ matrix.clang }} \
35+
cmake \
36+
git \
37+
libboost-dev \
38+
libboost-program-options-dev \
39+
libbz2-dev \
40+
libexpat1-dev \
41+
liblz4-dev \
42+
make \
43+
nlohmann-json3-dev \
44+
zlib1g-dev
45+
shell: bash
46+
- uses: actions/checkout@v4
47+
- uses: ./.github/actions/install-from-git
48+
- uses: ./.github/actions/cmake
49+
- name: Run clang-tidy
50+
run: make clang-tidy | tee osmium-tool-clang-tidy-${{ matrix.clang }}.log
51+
shell: bash
52+
working-directory: build
53+
- name: Upload clang-tidy log
54+
uses: actions/upload-artifact@v4
55+
if: always()
56+
with:
57+
name: osmium-tool-clang-tidy-${{ matrix.clang }}-log
58+
path: build/osmium-tool-clang-tidy-${{ matrix.clang }}.log

0 commit comments

Comments
 (0)