[
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)