53 lines
1.5 KiB
YAML
53 lines
1.5 KiB
YAML
name: clang-tidy
|
|
|
|
on: [ push, pull_request ]
|
|
|
|
jobs:
|
|
clang-tidy:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
image: ["debian:bookworm", "debian:testing", "debian:experimental"]
|
|
include:
|
|
- image: "debian:bookworm"
|
|
clang: 15
|
|
- image: "debian:testing"
|
|
clang: 19
|
|
- image: "debian:experimental"
|
|
clang: 20
|
|
container:
|
|
image: ${{ matrix.image }}
|
|
env:
|
|
BUILD_TYPE: Debug
|
|
CC: clang-${{ matrix.clang }}
|
|
CXX: clang++-${{ matrix.clang }}
|
|
CXXFLAGS: -Wno-c++20-extensions
|
|
CPP_VERSION: 14
|
|
APT_LISTCHANGES_FRONTEND: none
|
|
DEBIAN_FRONTEND: noninteractive
|
|
steps:
|
|
- name: Prepare container (apt)
|
|
run: |
|
|
apt-get update -qq
|
|
apt-get install -yq \
|
|
clang-${{ matrix.clang }} \
|
|
clang-tidy-${{ matrix.clang }} \
|
|
cmake \
|
|
libprotobuf-dev \
|
|
make \
|
|
protobuf-compiler
|
|
shell: bash
|
|
- uses: actions/checkout@v4
|
|
- uses: ./.github/actions/cmake
|
|
- name: Run clang-tidy
|
|
run: make clang-tidy | tee protozero-${{ github.sha }}-clang-tidy-${{ matrix.clang }}.log
|
|
shell: bash
|
|
working-directory: build
|
|
- name: Upload clang-tidy log
|
|
uses: actions/upload-artifact@v4
|
|
if: always()
|
|
with:
|
|
name: protozero-${{ github.sha }}-clang-tidy-${{ matrix.clang }}-log
|
|
path: build/protozero-${{ github.sha }}-clang-tidy-${{ matrix.clang }}.log
|