From 2ff6fad22812df2e79267dd5199357bf124a2ba1 Mon Sep 17 00:00:00 2001 From: Volodymyr Kolesnykov Date: Fri, 15 Nov 2024 14:01:56 +0200 Subject: [PATCH 1/4] ci: speed up `clang-tidy` workflow --- .github/workflows/clang-tidy.yaml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/clang-tidy.yaml b/.github/workflows/clang-tidy.yaml index 612ff05270..2f64169ce3 100644 --- a/.github/workflows/clang-tidy.yaml +++ b/.github/workflows/clang-tidy.yaml @@ -46,9 +46,8 @@ jobs: CC: clang CXX: clang++ run: | - mkdir -p build && cd build echo "Running cmake..." - cmake .. \ + cmake -B build \ -DCMAKE_CXX_STANDARD=14 \ -DWITH_STL=CXX14 \ -DWITH_OTLP_HTTP=ON \ @@ -62,13 +61,11 @@ jobs: -DBUILD_W3CTRACECONTEXT_TEST=ON \ -DWITH_METRICS_EXEMPLAR_PREVIEW=ON \ -DWITH_ASYNC_EXPORT_PREVIEW=ON \ - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ - -DCMAKE_CXX_CLANG_TIDY="clang-tidy" + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - name: Run clang-tidy run: | - cd build - make 2>&1 | tee -a clang-tidy.log || exit 1 + clang-tidy -p build $(jq -r .[].file build/compile_commands.json) 2>&1 | tee -a clang-tidy.log - uses: actions/upload-artifact@v4 with: @@ -77,8 +74,7 @@ jobs: - name: Count warnings run: | - cd build COUNT=$(grep -c "warning:" clang-tidy.log) echo "clang-tidy reported ${COUNT} warning(s)" -# TODO: include WITH_OTLP_GRPC and WITH_ABSEIL flags. \ No newline at end of file +# TODO: include WITH_OTLP_GRPC and WITH_ABSEIL flags. From 176b07fac39665896faa32aaa1e908fc17c13f7f Mon Sep 17 00:00:00 2001 From: Volodymyr Kolesnykov Date: Fri, 15 Nov 2024 14:39:14 +0200 Subject: [PATCH 2/4] fix: paths --- .github/workflows/clang-tidy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/clang-tidy.yaml b/.github/workflows/clang-tidy.yaml index 2f64169ce3..5db073614f 100644 --- a/.github/workflows/clang-tidy.yaml +++ b/.github/workflows/clang-tidy.yaml @@ -65,12 +65,12 @@ jobs: - name: Run clang-tidy run: | - clang-tidy -p build $(jq -r .[].file build/compile_commands.json) 2>&1 | tee -a clang-tidy.log + clang-tidy -p build $(jq -r .[].file build/compile_commands.json | grep -vF /generated/) 2>&1 | tee -a clang-tidy.log - uses: actions/upload-artifact@v4 with: name: Logs (clang-tidy) - path: ./build/clang-tidy.log + path: ./clang-tidy.log - name: Count warnings run: | From 6f4e1a79be1583f233f50061ff0b4c184f130263 Mon Sep 17 00:00:00 2001 From: Volodymyr Kolesnykov Date: Fri, 15 Nov 2024 15:27:33 +0200 Subject: [PATCH 3/4] fix: run clang-tidy in parallel --- .github/workflows/clang-tidy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/clang-tidy.yaml b/.github/workflows/clang-tidy.yaml index 5db073614f..aadd41216c 100644 --- a/.github/workflows/clang-tidy.yaml +++ b/.github/workflows/clang-tidy.yaml @@ -65,7 +65,7 @@ jobs: - name: Run clang-tidy run: | - clang-tidy -p build $(jq -r .[].file build/compile_commands.json | grep -vF /generated/) 2>&1 | tee -a clang-tidy.log + jq -r .[].file build/compile_commands.json | grep -vE '/(generated|third_party)/' | xargs -P $(nproc) -n 1 clang-tidy --quiet -p build 2>&1 | tee -a clang-tidy.log - uses: actions/upload-artifact@v4 with: From 3ca62186b7f69a7ad5e12d6ab3830fad1d880e82 Mon Sep 17 00:00:00 2001 From: Volodymyr Kolesnykov Date: Fri, 15 Nov 2024 15:44:42 +0200 Subject: [PATCH 4/4] fix: run protobuf compiler first --- .github/workflows/clang-tidy.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/clang-tidy.yaml b/.github/workflows/clang-tidy.yaml index aadd41216c..b467c56d44 100644 --- a/.github/workflows/clang-tidy.yaml +++ b/.github/workflows/clang-tidy.yaml @@ -65,6 +65,7 @@ jobs: - name: Run clang-tidy run: | + cmake --build build --target opentelemetry_proto jq -r .[].file build/compile_commands.json | grep -vE '/(generated|third_party)/' | xargs -P $(nproc) -n 1 clang-tidy --quiet -p build 2>&1 | tee -a clang-tidy.log - uses: actions/upload-artifact@v4