Skip to content

Commit da20215

Browse files
committed
Github actions: Add clang-tidy workflow (runs only on demand)
1 parent 205ad03 commit da20215

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

.github/workflows/clang-tidy.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: clang-tidy
2+
3+
on: workflow_dispatch
4+
5+
jobs:
6+
7+
clang-tidy:
8+
runs-on: ubuntu-latest
9+
strategy:
10+
fail-fast: false
11+
matrix:
12+
image: ["debian:bullseye", "debian:testing", "debian:experimental"]
13+
include:
14+
- image: "debian:bullseye"
15+
clang: 11
16+
- image: "debian:testing"
17+
clang: 12
18+
- image: "debian:experimental"
19+
clang: 14
20+
container:
21+
image: ${{ matrix.image }}
22+
env:
23+
BUILD_TYPE: Dev
24+
CC: clang-${{ matrix.clang }}
25+
CXX: clang++-${{ matrix.clang }}
26+
CPP_VERSION: c++11
27+
WITH_PROJ: ON
28+
steps:
29+
- name: Prepare container (apt)
30+
run: |
31+
export APT_LISTCHANGES_FRONTEND=none
32+
export DEBIAN_FRONTEND=noninteractive
33+
apt-get update -qq
34+
apt-get install -y \
35+
clang-${{ matrix.clang }} \
36+
clang-tidy-${{ matrix.clang }} \
37+
cmake \
38+
git \
39+
libboost-dev \
40+
libbz2-dev \
41+
libexpat1-dev \
42+
libgdal-dev \
43+
libgeos++-dev \
44+
libproj-dev \
45+
libsparsehash-dev \
46+
make \
47+
zlib1g-dev
48+
shell: bash
49+
# Use v1 of checkout because v2 doesn't work with submodules
50+
- uses: actions/checkout@v1
51+
with:
52+
submodules: true
53+
- uses: ./.github/actions/install-protozero
54+
- uses: ./.github/actions/cmake
55+
- name: clang-tidy
56+
run: make clang-tidy | tee clang-tidy-${{ matrix.clang }}.log
57+
shell: bash
58+
working-directory: build
59+
- name: Upload Log
60+
uses: actions/upload-artifact@v2
61+
if: always()
62+
with:
63+
name: clang-tidy-${{ matrix.clang }}-log
64+
path: build/clang-tidy-${{ matrix.clang }}.log
65+

0 commit comments

Comments
 (0)