[ https://issues.apache.org/jira/browse/KUDU-2699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16769984#comment-16769984 ]
Alexey Serbin commented on KUDU-2699: ------------------------------------- Just for the record, another alternative for the script was the following: {noformat} ... skipped ... if [[ $GERRIT_BRANCH =~ branch-(0\.[[:digit:]]+|1\.[0-8])(\.[[:alnum:]]+.*)?$ ]]; then thirdparty/build-if-necessary.sh # HACK HACK HACK: this will do the build, but then fail before it runs any tests. # Need to add a 'build-only' mode to build-and-test. # We have to build so that protobuf stuff is generated. RUN_FLAKY_ONLY=1 build-support/jenkins/build-and-test.sh || : build-support/clang_tidy_gerrit.py HEAD else export BUILD_TYPE=TIDY build-support/jenkins/build-and-test.sh fi {noformat} The idea was to keep the job running at all related branches (with the configured regex for the branch name as it was before: {{^(?!gh-pages$).*}}), where the new way of running the job would be applied only to the branches where changelist {{861ecc12f}} is present. However, current development patterns for the Kudu project make it enticing to switch to simpler model, where the {{kudu-tidy-bot}} job is run against the changes in the {{master}} branch only. > kudu-tidy-bot job no longer running the build > --------------------------------------------- > > Key: KUDU-2699 > URL: https://issues.apache.org/jira/browse/KUDU-2699 > Project: Kudu > Issue Type: Bug > Components: test > Reporter: Adar Dembo > Assignee: Alexey Serbin > Priority: Critical > Fix For: 1.10.0 > > > Due to [this > commit|https://github.com/apache/kudu/commit/861ecc12f4a67dc5988240fe1149d2f7572cb0de], > the kudu-tidy-bot job is no longer running a full build before invoking > clang_tidy_gerrit.py. That's because it was relying on the existing behavior > of the RUN_FLAKY environment variable, which was to set BUILD_JAVA, > BUILD_PYTHON, and BUILD_PYTHON3 to 0 before proceeding; the new behavior > includes a call to list_flaky_tests() which fails (and causes the script to > exit) when TEST_RESULT_SERVER is empty. > Here's the relevant part of the kudu-tidy-bot configuration: > {noformat} > thirdparty/build-if-necessary.sh > # HACK HACK HACK: this will do the build, but then fail before it runs any > tests. > # Need to add a 'build-only' mode to build-and-test. > # We have to build so that protobuf stuff is generated. > RUN_FLAKY_ONLY=1 build-support/jenkins/build-and-test.sh || : > build-support/clang_tidy_gerrit.py HEAD > {noformat} > Here's an example failed run: > {noformat} > 13:54:50 Set cache size limit to 50.0 Gbytes > 13:54:50 + thirdparty/build-if-necessary.sh > 13:54:50 Not rebuilding thirdparty. No changes since last build. > 13:54:50 + RUN_FLAKY_ONLY=1 > 13:54:50 + build-support/jenkins/build-and-test.sh > 13:54:50 Fetching flaky test list from > http:///list_failed_tests?num_days=3&build_pattern=%25kudu-test%25 ... > 13:54:50 curl: (6) Could not resolve host: http > 13:54:50 Could not fetch flaky tests list. > 13:54:50 Cleaning up all build artifacts... > 13:54:50 +++ dirname > /home/jenkins-slave/workspace/kudu-3/build-support/jenkins/post-build-clean.sh > 13:54:50 ++ cd > /home/jenkins-slave/workspace/kudu-3/build-support/jenkins/../.. > 13:54:50 ++ pwd > 13:54:50 + ROOT=/home/jenkins-slave/workspace/kudu-3 > 13:54:50 + cd /home/jenkins-slave/workspace/kudu-3 > 13:54:50 + find build/latest/src -name '*.o' -exec rm -f '{}' ';' > 13:54:50 find: `build/latest/src': No such file or directory > 13:54:50 + rm -Rf build/latest/bin build/latest/lib > 13:54:50 + find java -name '*.jar' -delete -o -name '*.class' -delete > 13:54:50 + : > 13:54:50 + build-support/clang_tidy_gerrit.py HEAD > 13:54:52 6450 warnings and 1 error generated. > 13:54:52 Error while processing > /home/jenkins-slave/workspace/kudu-3/src/kudu/common/partial_row.h. > 13:54:52 Suppressed 6451 warnings (6450 in non-user code, 1 NOLINT). > 13:54:52 Use -header-filter=.* to display errors from all non-system headers. > Use -system-headers to display errors from system headers as well. > 13:54:58 36677 warnings and 1 error generated. > 13:54:58 Error while processing > /home/jenkins-slave/workspace/kudu-3/src/kudu/common/partial_row.cc. > 13:54:58 Suppressed 36682 warnings (36672 in non-user code, 5 due to line > filter, 5 NOLINT). > 13:54:58 Use -header-filter=.* to display errors from all non-system headers. > Use -system-headers to display errors from system headers as well. > 13:55:00 38542 warnings and 1 error generated. > 13:55:00 Error while processing > /home/jenkins-slave/workspace/kudu-3/src/kudu/common/partial_row-test.cc. > 13:55:00 Suppressed 38567 warnings (38541 in non-user code, 1 due to line > filter, 25 NOLINT). > 13:55:00 Use -header-filter=.* to display errors from all non-system headers. > Use -system-headers to display errors from system headers as well. > 13:55:00 2019-02-11 21:55:00,633 INFO: Clang output > 13:55:00 2019-02-11 21:55:00,633 INFO: > /home/jenkins-slave/workspace/kudu-3/src/kudu/common/partial_row-test.cc:24:10: > error: 'kudu/common/common.pb.h' file not found [clang-diagnostic-error] > 13:55:00 #include "kudu/common/common.pb.h" > 13:55:00 ^ > 13:55:00 > /home/jenkins-slave/workspace/kudu-3/build-support/../src/kudu/common/partial_row.h:37:10: > error: 'kudu/util/kudu_export.h' file not found [clang-diagnostic-error] > 13:55:00 #include "kudu/util/kudu_export.h" > 13:55:00 ^ > 13:55:00 > /home/jenkins-slave/workspace/kudu-3/src/kudu/common/partial_row.h:37:10: > error: 'kudu/util/kudu_export.h' file not found [clang-diagnostic-error] > 13:55:00 #include "kudu/util/kudu_export.h" > 13:55:00 ^ > {noformat} > We need to find an alternative way to provide kudu-tidy-bot what it needs: an > ability to run the build so as to generate sources. We recently added some > CMake targets for these; maybe we should avoid using build-and-test.sh > altogether? -- This message was sent by Atlassian JIRA (v7.6.3#76005)