This is an automated email from the ASF dual-hosted git repository. szaszm pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
commit 9f02566bd89f390c849e1cfea23fd5e59d852b9f Author: Ferenc Gerlits <[email protected]> AuthorDate: Fri Jun 30 15:53:12 2023 +0200 MINIFICPP-2145 Parallelize the clang-tidy CI job Also: enable the JNI extension in the clang-tidy CI job. Closes #1594 Signed-off-by: Marton Szasz <[email protected]> --- .github/workflows/ci.yml | 6 +++--- run_clang_tidy.sh | 38 ++++++++++++++++++++------------------ 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 00c59f5c2..cdfa244d6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -185,7 +185,7 @@ jobs: echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main" | sudo tee -a /etc/apt/sources.list echo "deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main" | sudo tee -a /etc/apt/sources.list sudo apt update - sudo apt install -y ccache libfl-dev libpcap-dev libboost-all-dev openjdk-8-jdk maven libusb-1.0-0-dev libpng-dev libgps-dev clang-14 clang-tidy-14 libc++-14-dev libc++abi-14-dev libsqliteodbc lua5.3 liblua5.3-dev flake8 + sudo apt install -y ccache libfl-dev libpcap-dev libboost-all-dev openjdk-8-jdk maven libusb-1.0-0-dev libpng-dev libgps-dev clang-14 clang-tidy-14 libc++-14-dev libc++abi-14-dev libsqliteodbc lua5.3 liblua5.3-dev flake8 parallel echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV echo -e "127.0.0.1\t$HOSTNAME" | sudo tee -a /etc/hosts > /dev/null - name: build @@ -197,7 +197,7 @@ jobs: export CXXFLAGS="${CXXFLAGS} -stdlib=libc++" export LDFLAGS="${LDFLAGS} -stdlib=libc++" cmake -DUSE_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCI_BUILD=ON -DSTRICT_GSL_CHECKS=AUDIT -DFAIL_ON_WARNINGS=ON -DENABLE_AWS=ON -DENABLE_AZURE=ON -DENABLE_BUSTACHE=ON -DENABLE_COAP=ON \ - -DENABLE_ENCRYPT_CONFIG=ON -DENABLE_GPS=ON -DENABLE_LIBRDKAFKA=ON -DENABLE_MQTT=ON -DENABLE_NANOFI=ON -DENABLE_OPC=ON -DENABLE_OPENCV=ON \ + -DENABLE_ENCRYPT_CONFIG=ON -DENABLE_GPS=ON -DENABLE_LIBRDKAFKA=ON -DENABLE_MQTT=ON -DENABLE_NANOFI=ON -DENABLE_OPC=ON -DENABLE_OPENCV=ON -DENABLE_JNI=ON \ -DENABLE_OPENWSMAN=ON -DENABLE_OPS=ON -DENABLE_PCAP=ON -DENABLE_SENSORS=ON -DENABLE_SFTP=ON -DENABLE_SQL=ON -DENABLE_SYSTEMD=ON -DENABLE_TENSORFLOW=OFF \ -DENABLE_USB_CAMERA=ON -DENABLE_PYTHON_SCRIPTING=ON -DENABLE_LUA_SCRIPTING=ON -DENABLE_KUBERNETES=ON -DENABLE_GCP=ON -DENABLE_PROCFS=ON -DENABLE_PROMETHEUS=ON -DENABLE_ELASTICSEARCH=ON \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. @@ -230,7 +230,7 @@ jobs: sed -i -e 's/\/usr\/lib\/ccache\/clang++-14/\/lib\/llvm-14\/bin\/clang++/g' build/compile_commands.json sed -i -e 's/\/usr\/lib\/ccache\/clang-14/\/lib\/llvm-14\/bin\/clang/g' build/compile_commands.json - ./run_clang_tidy.sh "${FILES}" + parallel -j$(( $(nproc) + 1 )) ./run_clang_tidy.sh ::: ${FILES} - name: check-cores if: ${{ failure() && steps.test.conclusion == 'failure' }} run: | diff --git a/run_clang_tidy.sh b/run_clang_tidy.sh index 2095fcbaf..4079d76e3 100755 --- a/run_clang_tidy.sh +++ b/run_clang_tidy.sh @@ -2,27 +2,29 @@ set -uo pipefail -exit_code=0 -FILES=$1 +FILE=$1 EXCLUDED_EXTENSIONS=("pdh" "windows-event-log" "tensorflow") EXCLUDED_DIRECTORY=("nanofi") -for changed_file in ${FILES}; do - for excluded_extension in "${EXCLUDED_EXTENSIONS[@]}"; do - if [[ "${changed_file}" =~ extensions/${excluded_extension}/ ]]; then - continue 2 - fi - done - for excluded_directory in "${EXCLUDED_DIRECTORY[@]}"; do - if [[ "${changed_file}" =~ ${excluded_directory}/ ]]; then - continue 2 - fi - done - if [[ "${changed_file}" == *.cpp ]] && [[ -f "${changed_file}" ]]; then - clang-tidy-14 -warnings-as-errors=* -quiet -p build "${changed_file}" - exit_code=$(( $? | exit_code )) - fi; +for excluded_extension in "${EXCLUDED_EXTENSIONS[@]}"; do + if [[ "${FILE}" =~ extensions/${excluded_extension}/ ]]; then + exit 0 + fi done -exit $exit_code +for excluded_directory in "${EXCLUDED_DIRECTORY[@]}"; do + if [[ "${FILE}" =~ ${excluded_directory}/ ]]; then + exit 0 + fi +done + +if ! [[ "${FILE}" == *.cpp ]]; then + exit 0 +fi + +if ! [[ -f "${FILE}" ]]; then + exit 0 +fi + +clang-tidy-14 -warnings-as-errors=* -quiet -p build "$FILE"
