Page MenuHomePhabricator

[CI] Use ninja targets instead of calling binaries
ClosedPublic

Authored by Fabien on Jan 13 2020, 14:37.

Details

Summary

There is no change in behavior.

Depends on D4938 and D4939.

Test Plan

Run the CI builds:

  • build-asan
  • build-ubsan
  • build-tsan
  • build-diff
  • build-master

Diff Detail

Repository
rABC Bitcoin ABC
Branch
ci_ninja_rules
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 8901
Build 15777: Default Diff Build & Tests
Build 15776: arc lint + arc unit

Event Timeline

Snippet of first build failure:

[14:38:26] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git config lfs.storage /home/teamcity/buildAgent/system/git/git-48AA3180.git/lfs
[14:38:26] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git config core.sparseCheckout true
[14:38:26] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git config http.sslCAInfo
[14:38:26] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git show-ref
[14:38:26] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git show-ref refs/tags/phabricator/diff/15401
[14:38:26] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git log -n1 --pretty=format:%H%x20%s 8f26dadb8ae377e0177460200b1d74d42e000c72 --
[14:38:26] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git -c credential.helper= checkout -q -f phabricator/diff/15401
[14:38:26] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git show-ref refs/tags/phabricator/diff/15401
[14:38:26] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] Cleaning Bitcoin ABC Staging in /home/teamcity/buildAgent/work/c4a5708f2bae7929 the file set ALL_UNTRACKED
[14:38:26] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git clean -f -d -x
[14:38:26] : Build preparation done
[14:38:26]E: Step 1/1: Command Line
[14:38:26] :	 [Step 1/1] Ant JUnit report watcher
[14:38:26] :		 [Ant JUnit report watcher] Watching paths:
[14:38:26] :		 [Ant JUnit report watcher] +:build/test_bitcoin.xml
[14:38:26] :		 [Ant JUnit report watcher] +:test/functional/junit_results.xml
[14:38:26] :		 [Ant JUnit report watcher] +:build/junit_results*.xml
[14:38:26] :	 [Step 1/1] Starting: /home/teamcity/buildAgent/temp/agentTmp/custom_script1790370367561605913
[14:38:26] :	 [Step 1/1] in directory: /home/teamcity/buildAgent/work/c4a5708f2bae7929
[14:38:26]W:	 [Step 1/1] + : build-default
[14:38:26] :	 [Step 1/1] Running build configuration 'build-default'...
[14:38:26]W:	 [Step 1/1] + '[' -z build-default ']'
[14:38:26]W:	 [Step 1/1] + echo 'Running build configuration '\''build-default'\''...'
[14:38:26]W:	 [Step 1/1] ++ git rev-parse --show-toplevel
[14:38:26]W:	 [Step 1/1] + TOPLEVEL=/home/teamcity/buildAgent/work/c4a5708f2bae7929
[14:38:26]W:	 [Step 1/1] + export TOPLEVEL
[14:38:26]W:	 [Step 1/1] + trap print_sanitizers_log ERR
[14:38:26]W:	 [Step 1/1] +++ dirname ./contrib/teamcity/build-configurations.sh
[14:38:26]W:	 [Step 1/1] ++ cd ./contrib/teamcity
[14:38:26]W:	 [Step 1/1] ++ pwd
[14:38:26]W:	 [Step 1/1] + CI_SCRIPTS_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929/contrib/teamcity
[14:38:26]W:	 [Step 1/1] + setup
[14:38:26]W:	 [Step 1/1] + : /home/teamcity/buildAgent/work/c4a5708f2bae7929/build
[14:38:26]W:	 [Step 1/1] ++ cd /home/teamcity/buildAgent/work/c4a5708f2bae7929/build
[14:38:26]W:	 [Step 1/1] ./contrib/teamcity/build-configurations.sh: line 20: cd: /home/teamcity/buildAgent/work/c4a5708f2bae7929/build: No such file or directory
[14:38:26]W:	 [Step 1/1] ++ pwd
[14:38:26]W:	 [Step 1/1] + BUILD_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929
[14:38:26]W:	 [Step 1/1] + export BUILD_DIR
[14:38:26]W:	 [Step 1/1] + cd /home/teamcity/buildAgent/work/c4a5708f2bae7929
[14:38:26]W:	 [Step 1/1] ++ nproc
[14:38:26]W:	 [Step 1/1] + THREADS=12
[14:38:26]W:	 [Step 1/1] + export THREADS
[14:38:26]W:	 [Step 1/1] + SAN_SUPP_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions
[14:38:26]W:	 [Step 1/1] + SAN_LOG_DIR=/tmp/sanitizer_logs
[14:38:26]W:	 [Step 1/1] + mkdir -p /tmp/sanitizer_logs
[14:38:26]W:	 [Step 1/1] + rm -rf '/tmp/sanitizer_logs/*'
[14:38:26]W:	 [Step 1/1] + export ASAN_OPTIONS=malloc_context_size=0:log_path=/tmp/sanitizer_logs/asan.log
[14:38:26]W:	 [Step 1/1] + ASAN_OPTIONS=malloc_context_size=0:log_path=/tmp/sanitizer_logs/asan.log
[14:38:26]W:	 [Step 1/1] + export LSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/lsan:log_path=/tmp/sanitizer_logs/lsan.log
[14:38:26]W:	 [Step 1/1] + LSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/lsan:log_path=/tmp/sanitizer_logs/lsan.log
[14:38:26]W:	 [Step 1/1] + export TSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/tsan:log_path=/tmp/sanitizer_logs/tsan.log
[14:38:26]W:	 [Step 1/1] + TSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/tsan:log_path=/tmp/sanitizer_logs/tsan.log
[14:38:26]W:	 [Step 1/1] + export UBSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:log_path=/tmp/sanitizer_logs/ubsan.log
[14:38:26] :	 [Step 1/1] Error: Invalid build name 'build-default'
[14:38:26]W:	 [Step 1/1] + UBSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:log_path=/tmp/sanitizer_logs/ubsan.log
[14:38:26]W:	 [Step 1/1] + case "$ABC_BUILD_NAME" in
[14:38:26]W:	 [Step 1/1] + echo 'Error: Invalid build name '\''build-default'\'''
[14:38:26]W:	 [Step 1/1] + exit 2
[14:38:26]W:	 [Step 1/1] Process exited with code 2
[14:38:26]E:	 [Step 1/1] Process exited with code 2 (Step: Command Line)
deadalnix requested changes to this revision.Jan 13 2020, 16:22

I don't think this is moving in the right direction. We just simply can't pack everything into the cmake build and expect that approach to scale.

It would be fantastic, however, if the test runner could use a temp folder in the binary dir rather than /tmp because /tmp is not always setup to be able to accept several GB of stuff. If you feel the need to always run a program with some flag by default, then it's a sure sign that the flags should be the default and that the build system isn't the right place to fix things. If the flag also end up to be the ones we want for CI, then we can use the target. If not, because CI is specific in some way, then we don't use the targets.

contrib/teamcity/build-configurations.sh
126

The build_cmake.sh thing makes thing more opaque than not. What does it build? And why is half of the shit built there and half here? It makes it very hard to understand what's going on.

As far as I can tell, it's doing something trivial, and if it's not it's even worse because that means I have no idea what it does and no visibility on patches that supposedly would need it for review. In addition, the name is wrong, because this is clearly not building cmake.

This revision now requires changes to proceed.Jan 13 2020, 16:22

The test runner does have it's temp directory in the build directory (it was the case before this patch because of the relative path; now it's explicitly made relative to CMAKE_CURRENT_BINARY_DIR).
Since it's a prefix path, the final directory name is still generated by test_runner.py which prevents name collisions when it runs multiple times in the same build dir.

I don't see how this patch makes things worse. I don't expect to be able to always pack everything into cmake, but at least using the global test targets for the CI (see follow-up, D4928) sounds like a good idea to me:

  • It does add coverage for these targets;
  • It will avoid updating the CI each time a new test suite is created;
  • It takes advantage of ninja parallelization for building and running the tests.
contrib/teamcity/build-configurations.sh
126

The build_cmake.sh script is (re)setting the build directory, running cmake and building the all target. It's fairly trivial.
I can probably rename it to something like build_all_with_cmake.sh to make the intent clearer, but it's out of scope. Even better, I can move the all target build out of the script and have it only manage the configuration; that will probably make more sense.

Fix typo CURRENT_BINARY_DIR => CMAKE_CURRENT_BINARY_DIR.

Snippet of first build failure:

[17:16:36] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git config lfs.storage /home/teamcity/buildAgent/system/git/git-48AA3180.git/lfs
[17:16:36] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git config core.sparseCheckout true
[17:16:36] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git config http.sslCAInfo
[17:16:36] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git show-ref
[17:16:36] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git show-ref refs/tags/phabricator/diff/15408
[17:16:36] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git log -n1 --pretty=format:%H%x20%s 9939b3f9b9380aa8828d76bb080a143d1d8a2edf --
[17:16:37] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git -c credential.helper= checkout -q -f phabricator/diff/15408
[17:16:37] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git show-ref refs/tags/phabricator/diff/15408
[17:16:37] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] Cleaning Bitcoin ABC Staging in /home/teamcity/buildAgent/work/c4a5708f2bae7929 the file set ALL_UNTRACKED
[17:16:37] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git clean -f -d -x
[17:16:37] : Build preparation done
[17:16:37]E: Step 1/1: Command Line
[17:16:37] :	 [Step 1/1] Ant JUnit report watcher
[17:16:37] :		 [Ant JUnit report watcher] Watching paths:
[17:16:37] :		 [Ant JUnit report watcher] +:build/test_bitcoin.xml
[17:16:37] :		 [Ant JUnit report watcher] +:test/functional/junit_results.xml
[17:16:37] :		 [Ant JUnit report watcher] +:build/junit_results*.xml
[17:16:37] :	 [Step 1/1] Starting: /home/teamcity/buildAgent/temp/agentTmp/custom_script7991122379984287696
[17:16:37] :	 [Step 1/1] in directory: /home/teamcity/buildAgent/work/c4a5708f2bae7929
[17:16:37]W:	 [Step 1/1] + : build-default
[17:16:37] :	 [Step 1/1] Running build configuration 'build-default'...
[17:16:37]W:	 [Step 1/1] + '[' -z build-default ']'
[17:16:37]W:	 [Step 1/1] + echo 'Running build configuration '\''build-default'\''...'
[17:16:37]W:	 [Step 1/1] ++ git rev-parse --show-toplevel
[17:16:37]W:	 [Step 1/1] + TOPLEVEL=/home/teamcity/buildAgent/work/c4a5708f2bae7929
[17:16:37]W:	 [Step 1/1] + export TOPLEVEL
[17:16:37]W:	 [Step 1/1] + trap print_sanitizers_log ERR
[17:16:37]W:	 [Step 1/1] +++ dirname ./contrib/teamcity/build-configurations.sh
[17:16:37]W:	 [Step 1/1] ++ cd ./contrib/teamcity
[17:16:37]W:	 [Step 1/1] ++ pwd
[17:16:37]W:	 [Step 1/1] + CI_SCRIPTS_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929/contrib/teamcity
[17:16:37]W:	 [Step 1/1] + setup
[17:16:37]W:	 [Step 1/1] + : /home/teamcity/buildAgent/work/c4a5708f2bae7929/build
[17:16:37]W:	 [Step 1/1] ++ cd /home/teamcity/buildAgent/work/c4a5708f2bae7929/build
[17:16:37]W:	 [Step 1/1] ./contrib/teamcity/build-configurations.sh: line 20: cd: /home/teamcity/buildAgent/work/c4a5708f2bae7929/build: No such file or directory
[17:16:37]W:	 [Step 1/1] ++ pwd
[17:16:37]W:	 [Step 1/1] + BUILD_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929
[17:16:37]W:	 [Step 1/1] + export BUILD_DIR
[17:16:37]W:	 [Step 1/1] + cd /home/teamcity/buildAgent/work/c4a5708f2bae7929
[17:16:37]W:	 [Step 1/1] ++ nproc
[17:16:37]W:	 [Step 1/1] + THREADS=12
[17:16:37]W:	 [Step 1/1] + export THREADS
[17:16:37]W:	 [Step 1/1] + SAN_SUPP_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions
[17:16:37]W:	 [Step 1/1] + SAN_LOG_DIR=/tmp/sanitizer_logs
[17:16:37]W:	 [Step 1/1] + mkdir -p /tmp/sanitizer_logs
[17:16:37]W:	 [Step 1/1] + rm -rf '/tmp/sanitizer_logs/*'
[17:16:37]W:	 [Step 1/1] + export ASAN_OPTIONS=malloc_context_size=0:log_path=/tmp/sanitizer_logs/asan.log
[17:16:37]W:	 [Step 1/1] + ASAN_OPTIONS=malloc_context_size=0:log_path=/tmp/sanitizer_logs/asan.log
[17:16:37]W:	 [Step 1/1] + export LSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/lsan:log_path=/tmp/sanitizer_logs/lsan.log
[17:16:37]W:	 [Step 1/1] + LSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/lsan:log_path=/tmp/sanitizer_logs/lsan.log
[17:16:37]W:	 [Step 1/1] + export TSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/tsan:log_path=/tmp/sanitizer_logs/tsan.log
[17:16:37]W:	 [Step 1/1] + TSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/tsan:log_path=/tmp/sanitizer_logs/tsan.log
[17:16:37]W:	 [Step 1/1] + export UBSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:log_path=/tmp/sanitizer_logs/ubsan.log
[17:16:37]W:	 [Step 1/1] + UBSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:log_path=/tmp/sanitizer_logs/ubsan.log
[17:16:37]W:	 [Step 1/1] + case "$ABC_BUILD_NAME" in
[17:16:37]W:	 [Step 1/1] + echo 'Error: Invalid build name '\''build-default'\'''
[17:16:37]W:	 [Step 1/1] + exit 2
[17:16:37] :	 [Step 1/1] Error: Invalid build name 'build-default'
[17:16:37]W:	 [Step 1/1] Process exited with code 2
[17:16:37]E:	 [Step 1/1] Process exited with code 2 (Step: Command Line)
deadalnix requested changes to this revision.Jan 14 2020, 01:19

This patch make things worse because it changes the expectations one migh have that running ninja check-functional does the same thing as running ./functional/test_runner.py which it doesn't anymore, and this is bad UX.

If the behavior of the test runner is inadequate, then update it. If the expected behavior of the test runner needs to differ in CI for CI specific reason, then don't change the target for anyone and everyone running them.

This revision now requires changes to proceed.Jan 14 2020, 01:19

Address feedback by rebasing on top of D4938 and D4939.
This avoids overriding the defaults in the build system, but instead
rely on better defaults.

Snippet of first build failure:

[09:52:04] :		 [Ant JUnit report watcher] +:test/functional/junit_results.xml
[09:52:04] :		 [Ant JUnit report watcher] +:build/junit_results*.xml
[09:52:04] :	 [Step 1/1] Starting: /home/teamcity/buildAgent/temp/agentTmp/custom_script6750849509850362704
[09:52:04] :	 [Step 1/1] in directory: /home/teamcity/buildAgent/work/c4a5708f2bae7929
[09:52:04]W:	 [Step 1/1] + : build-diff
[09:52:04] :	 [Step 1/1] Running build configuration 'build-diff'...
[09:52:04]W:	 [Step 1/1] + '[' -z build-diff ']'
[09:52:04]W:	 [Step 1/1] + echo 'Running build configuration '\''build-diff'\''...'
[09:52:04]W:	 [Step 1/1] ++ git rev-parse --show-toplevel
[09:52:04]W:	 [Step 1/1] + TOPLEVEL=/home/teamcity/buildAgent/work/c4a5708f2bae7929
[09:52:04]W:	 [Step 1/1] + export TOPLEVEL
[09:52:04]W:	 [Step 1/1] + trap print_sanitizers_log ERR
[09:52:04]W:	 [Step 1/1] +++ dirname ./contrib/teamcity/build-configurations.sh
[09:52:04]W:	 [Step 1/1] ++ cd ./contrib/teamcity
[09:52:04]W:	 [Step 1/1] ++ pwd
[09:52:04]W:	 [Step 1/1] + CI_SCRIPTS_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929/contrib/teamcity
[09:52:04]W:	 [Step 1/1] + setup
[09:52:04]W:	 [Step 1/1] + : /home/teamcity/buildAgent/work/c4a5708f2bae7929/build
[09:52:04]W:	 [Step 1/1] ++ cd /home/teamcity/buildAgent/work/c4a5708f2bae7929/build
[09:52:04]W:	 [Step 1/1] ./contrib/teamcity/build-configurations.sh: line 20: cd: /home/teamcity/buildAgent/work/c4a5708f2bae7929/build: No such file or directory
[09:52:04]W:	 [Step 1/1] ++ pwd
[09:52:04]W:	 [Step 1/1] + BUILD_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929
[09:52:04]W:	 [Step 1/1] + export BUILD_DIR
[09:52:04]W:	 [Step 1/1] + cd /home/teamcity/buildAgent/work/c4a5708f2bae7929
[09:52:04]W:	 [Step 1/1] ++ nproc
[09:52:04]W:	 [Step 1/1] + THREADS=12
[09:52:04]W:	 [Step 1/1] + export THREADS
[09:52:04]W:	 [Step 1/1] + SAN_SUPP_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions
[09:52:04]W:	 [Step 1/1] + SAN_LOG_DIR=/tmp/sanitizer_logs
[09:52:04]W:	 [Step 1/1] + mkdir -p /tmp/sanitizer_logs
[09:52:04]W:	 [Step 1/1] + rm -rf '/tmp/sanitizer_logs/*'
[09:52:04]W:	 [Step 1/1] + export ASAN_OPTIONS=malloc_context_size=0:log_path=/tmp/sanitizer_logs/asan.log
[09:52:04]W:	 [Step 1/1] + ASAN_OPTIONS=malloc_context_size=0:log_path=/tmp/sanitizer_logs/asan.log
[09:52:04]W:	 [Step 1/1] + export LSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/lsan:log_path=/tmp/sanitizer_logs/lsan.log
[09:52:04]W:	 [Step 1/1] + LSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/lsan:log_path=/tmp/sanitizer_logs/lsan.log
[09:52:04]W:	 [Step 1/1] + export TSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/tsan:log_path=/tmp/sanitizer_logs/tsan.log
[09:52:04]W:	 [Step 1/1] + TSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/tsan:log_path=/tmp/sanitizer_logs/tsan.log
[09:52:04]W:	 [Step 1/1] + export UBSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:log_path=/tmp/sanitizer_logs/ubsan.log
[09:52:04]W:	 [Step 1/1] + UBSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:log_path=/tmp/sanitizer_logs/ubsan.log
[09:52:04]W:	 [Step 1/1] + case "$ABC_BUILD_NAME" in
[09:52:04]W:	 [Step 1/1] + CMAKE_FLAGS=("-DSECP256K1_ENABLE_MODULE_ECDH=ON" "-DSECP256K1_ENABLE_JNI=ON")
[09:52:04]W:	 [Step 1/1] + CMAKE_FLAGS='-DSECP256K1_ENABLE_MODULE_ECDH=ON -DSECP256K1_ENABLE_JNI=ON'
[09:52:04]W:	 [Step 1/1] + /home/teamcity/buildAgent/work/c4a5708f2bae7929/contrib/teamcity/build_cmake.sh
[09:52:04]W:	 [Step 1/1] + : /home/teamcity/buildAgent/work/c4a5708f2bae7929
[09:52:04]W:	 [Step 1/1] + : /home/teamcity/buildAgent/work/c4a5708f2bae7929
[09:52:04]W:	 [Step 1/1] + : '-DSECP256K1_ENABLE_MODULE_ECDH=ON -DSECP256K1_ENABLE_JNI=ON'
[09:52:04]W:	 [Step 1/1] + cd /home/teamcity/buildAgent/work/c4a5708f2bae7929
[09:52:04]W:	 [Step 1/1] + git clean -xffd
[09:52:04]W:	 [Step 1/1] + read -a CMAKE_FLAGS
[09:52:04]W:	 [Step 1/1] + cmake -GNinja .. -DSECP256K1_ENABLE_MODULE_ECDH=ON -DSECP256K1_ENABLE_JNI=ON
[09:52:04]W:	 [Step 1/1] CMake Error: The source directory "/home/teamcity/buildAgent/work" does not appear to contain CMakeLists.txt.
[09:52:04]W:	 [Step 1/1] Specify --help for usage, or press the help button on the CMake GUI.
[09:52:04] :	 [Step 1/1] *** Output of /tmp/sanitizer_logs/*.log.* ***
[09:52:04]W:	 [Step 1/1] ++ print_sanitizers_log
[09:52:04]W:	 [Step 1/1] ++ for log in "${SAN_LOG_DIR}"/*.log.*
[09:52:04]W:	 [Step 1/1] ++ echo '*** Output of /tmp/sanitizer_logs/*.log.* ***'
[09:52:04]W:	 [Step 1/1] ++ cat '/tmp/sanitizer_logs/*.log.*'
[09:52:04]W:	 [Step 1/1] cat: '/tmp/sanitizer_logs/*.log.*': No such file or directory
[09:52:04]W:	 [Step 1/1] Process exited with code 1
[09:52:04]E:	 [Step 1/1] Process exited with code 1 (Step: Command Line)

Still create the build dir.

This revision is now accepted and ready to land.Jan 15 2020, 14:09