Page MenuHomePhabricator

[CI] Manage the build artifacts from the configuration
ClosedPublic

Authored by Fabien on Jun 25 2020, 14:26.

Details

Reviewers
jasonbcox
Group Reviewers
Restricted Project
Commits
rABCe23422471d46: [CI] Manage the build artifacts from the configuration
Summary

This add an "artifacts" dictionary to the configuration, which maps a
glob pattern (relative to the build directory) to an artifact name
(relative to the artifact directory).

The artifact list is not guaranteed to be 100% correct, but it can't
make it worst.

Depends on D6733.

Test Plan

Run any CI build plan and look at the artifacts in Teamcity.

Event Timeline

Fabien requested review of this revision.Jun 25 2020, 14:26
Fabien planned changes to this revision.Jun 25 2020, 14:41

Use artifact path from the current environment

Fabien planned changes to this revision.Jun 25 2020, 14:50

Still not working, trying something else

Fabien planned changes to this revision.Jun 25 2020, 15:43

Try not specifying an output path

Fabien planned changes to this revision.Jun 25 2020, 16:18

Relocate the artifacts dir

Fabien planned changes to this revision.Jun 25 2020, 17:00

Test without teamcity detection

Fabien planned changes to this revision.Jun 25 2020, 17:52

Snippet of first build failure:

[18:04:31] :	 [Step 1/1] [111/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/serialize_tests.cpp.o
[18:04:32] :	 [Step 1/1] [112/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sighash_tests.cpp.o
[18:04:32] :	 [Step 1/1] [113/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sigcheckcount_tests.cpp.o
[18:04:33] :	 [Step 1/1] [114/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/streams_tests.cpp.o
[18:04:33] :	 [Step 1/1] [115/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sync_tests.cpp.o
[18:04:34] :	 [Step 1/1] [116/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/timedata_tests.cpp.o
[18:04:35] :	 [Step 1/1] [117/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/torcontrol_tests.cpp.o
[18:04:36] :	 [Step 1/1] [118/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/txindex_tests.cpp.o
[18:04:37] :	 [Step 1/1] [119/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/txvalidation_tests.cpp.o
[18:04:38] :	 [Step 1/1] [120/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/undo_tests.cpp.o
[18:04:39] :	 [Step 1/1] [121/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/util_threadnames_tests.cpp.o
[18:04:39] :	 [Step 1/1] [122/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/work_comparator_tests.cpp.o
[18:04:39] :	 [Step 1/1] [123/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/validationinterface_tests.cpp.o
[18:04:40] :	 [Step 1/1] [124/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/uint256_tests.cpp.o
[18:04:41] :	 [Step 1/1] [125/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/validation_tests.cpp.o
[18:04:42] :	 [Step 1/1] [126/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/validation_block_tests.cpp.o
[18:04:42] :	 [Step 1/1] [127/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/versionbits_tests.cpp.o
[18:04:42] :	 [Step 1/1] [128/157] Linking CXX executable src/seeder/test/test_bitcoin-seeder
[18:04:42] :	 [Step 1/1] [129/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/rpc/test/server_tests.cpp.o
[18:04:43] :	 [Step 1/1] [130/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/wallet_crypto_tests.cpp.o
[18:04:44] :	 [Step 1/1] [131/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/db_tests.cpp.o
[18:04:44] :	 [Step 1/1] [132/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/txvalidationcache_tests.cpp.o
[18:04:46] :	 [Step 1/1] [133/157] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/bitcoinaddressvalidatortests.cpp.o
[18:04:46] :	 [Step 1/1] [134/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/transaction_tests.cpp.o
[18:04:46] :	 [Step 1/1] [135/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/init_tests.cpp.o
[18:04:47] :	 [Step 1/1] [136/157] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/compattests.cpp.o
[18:04:49] :	 [Step 1/1] [137/157] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/util.cpp.o
[18:04:50] :	 [Step 1/1] [138/157] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/guiutiltests.cpp.o
[18:04:50] :	 [Step 1/1] [139/157] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o
[18:04:51] :	 [Step 1/1] [140/157] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/apptests.cpp.o
[18:04:52] :	 [Step 1/1] [141/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/ismine_tests.cpp.o
[18:04:53] :	 [Step 1/1] [142/157] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/uritests.cpp.o
[18:04:53] :	 [Step 1/1] [143/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/psbt_wallet_tests.cpp.o
[18:04:53] :	 [Step 1/1] [144/157] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/rpcnestedtests.cpp.o
[18:04:54] :	 [Step 1/1] [145/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/walletdb_tests.cpp.o
[18:04:54] :	 [Step 1/1] [146/157] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_main.cpp.o
[18:04:56] :	 [Step 1/1] [147/157] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/test/util/setup_common.cpp.o
[18:04:56] :	 [Step 1/1] [148/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/coinselector_tests.cpp.o
[18:04:57] :	 [Step 1/1] [149/157] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_bitcoin-qt_autogen/mocs_compilation.cpp.o
[18:04:57] :	 [Step 1/1] [150/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/wallet_tests.cpp.o
[18:04:57] :	 [Step 1/1] [151/157] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/paymentservertests.cpp.o
[18:04:58] :	 [Step 1/1] [152/157] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/wallet/test/wallet_test_fixture.cpp.o
[18:05:00] :	 [Step 1/1] [153/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/util_tests.cpp.o
[18:05:01] :	 [Step 1/1] [154/157] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o
[18:05:02] :	 [Step 1/1] [155/157] Linking CXX executable src/qt/test/test_bitcoin-qt
[18:05:15] :	 [Step 1/1] [156/157] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/script_tests.cpp.o
[18:05:16] :	 [Step 1/1] [157/157] Linking CXX executable src/test/test_bitcoin
[18:05:16]W:	 [Step 1/1] Traceback (most recent call last):
[18:05:16]W:	 [Step 1/1]   File "./contrib/teamcity/build-configurations.py", line 244, in <module>
[18:05:16]W:	 [Step 1/1]     main()
[18:05:16]W:	 [Step 1/1]   File "./contrib/teamcity/build-configurations.py", line 235, in main
[18:05:16]W:	 [Step 1/1]     build.get("artifacts", {})
[18:05:16]W:	 [Step 1/1]   File "./contrib/teamcity/build-configurations.py", line 35, in copy_artifacts
[18:05:16]W:	 [Step 1/1]     if artifact_dir.is_dir():
[18:05:16]W:	 [Step 1/1] AttributeError: 'PurePosixPath' object has no attribute 'is_dir'
[18:05:16]W:	 [Step 1/1] cp: cannot stat '/tmp/sanitizer_logs': No such file or directory
[18:05:17]W:	 [Step 1/1] cp: cannot stat '/work/abc-ci-builds/build-clang-10': No such file or directory
[18:05:17]W:	 [Step 1/1] cp: cannot stat '/work/ibd/debug.log': No such file or directory
[18:05:22]W:	 [Step 1/1] Process exited with code 1
[18:05:22]E:	 [Step 1/1] Process exited with code 1 (Step: Command Line)

Snippet of first build failure:

2020-06-25T18:03:34.260000Z TestFramework (INFO): Test skipped
[18:07:12]i:		 [Bitcoin ABC functional tests] wallet_multiwallet.py
[18:07:12]i:			 [wallet_multiwallet.py] Test ignored: wallet_multiwallet.py
[18:07:12]i:		 [Bitcoin ABC functional tests] [Test Output]
2020-06-25T18:03:34.603000Z TestFramework (WARNING): Test Skipped: wallet has not been compiled.
2020-06-25T18:03:34.653000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:03:34.653000Z TestFramework (INFO): Cleaning up /work/build-without-wallet/test/tmp/test_runner_₿₵_  _20200625_180332/wallet_multiwallet_641 on exit
2020-06-25T18:03:34.653000Z TestFramework (INFO): Test skipped
[18:07:12]i:		 [Bitcoin ABC functional tests] wallet_multiwallet.py --usecli
[18:07:12]i:			 [wallet_multiwallet.py --usecli] Test ignored: wallet_multiwallet.py --usecli
[18:07:12]i:		 [Bitcoin ABC functional tests] [Test Output]
2020-06-25T18:03:34.336000Z TestFramework (WARNING): Test Skipped: wallet has not been compiled.
2020-06-25T18:03:34.386000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:03:34.386000Z TestFramework (INFO): Cleaning up /work/build-without-wallet/test/tmp/test_runner_₿₵_  _20200625_180332/wallet_multiwallet_635 on exit
2020-06-25T18:03:34.386000Z TestFramework (INFO): Test skipped
[18:07:12]i:		 [Bitcoin ABC functional tests] wallet_resendwallettransactions.py
[18:07:12]i:			 [wallet_resendwallettransactions.py] Test ignored: wallet_resendwallettransactions.py
[18:07:12]i:		 [Bitcoin ABC functional tests] [Test Output]
2020-06-25T18:03:34.227000Z TestFramework (WARNING): Test Skipped: wallet has not been compiled.
2020-06-25T18:03:34.278000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:03:34.278000Z TestFramework (INFO): Cleaning up /work/build-without-wallet/test/tmp/test_runner_₿₵_  _20200625_180332/wallet_resendwallettransactions_633 on exit
2020-06-25T18:03:34.278000Z TestFramework (INFO): Test skipped
[18:07:12]i:		 [Bitcoin ABC functional tests] wallet_txn_clone.py
[18:07:12]i:			 [wallet_txn_clone.py] Test ignored: wallet_txn_clone.py
[18:07:12]i:		 [Bitcoin ABC functional tests] [Test Output]
2020-06-25T18:04:21.372000Z TestFramework (WARNING): Test Skipped: wallet has not been compiled.
2020-06-25T18:04:21.422000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:04:21.423000Z TestFramework (INFO): Cleaning up /work/build-without-wallet/test/tmp/test_runner_₿₵_  _20200625_180332/wallet_txn_clone_697 on exit
2020-06-25T18:04:21.423000Z TestFramework (INFO): Test skipped
[18:07:12]i:		 [Bitcoin ABC functional tests] wallet_txn_clone.py --mineblock
[18:07:12]i:			 [wallet_txn_clone.py --mineblock] Test ignored: wallet_txn_clone.py --mineblock
[18:07:12]i:		 [Bitcoin ABC functional tests] [Test Output]
2020-06-25T18:04:15.261000Z TestFramework (WARNING): Test Skipped: wallet has not been compiled.
2020-06-25T18:04:15.311000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:04:15.312000Z TestFramework (INFO): Cleaning up /work/build-without-wallet/test/tmp/test_runner_₿₵_  _20200625_180332/wallet_txn_clone_676 on exit
2020-06-25T18:04:15.312000Z TestFramework (INFO): Test skipped
[18:07:12]i:		 [Bitcoin ABC functional tests] wallet_txn_doublespend.py
[18:07:12]i:			 [wallet_txn_doublespend.py] Test ignored: wallet_txn_doublespend.py
[18:07:12]i:		 [Bitcoin ABC functional tests] [Test Output]
2020-06-25T18:04:30.885000Z TestFramework (WARNING): Test Skipped: wallet has not been compiled.
2020-06-25T18:04:30.936000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:04:30.936000Z TestFramework (INFO): Cleaning up /work/build-without-wallet/test/tmp/test_runner_₿₵_  _20200625_180332/wallet_txn_doublespend_727 on exit
2020-06-25T18:04:30.936000Z TestFramework (INFO): Test skipped
[18:07:12]i:		 [Bitcoin ABC functional tests] wallet_txn_doublespend.py --mineblock
[18:07:12]i:			 [wallet_txn_doublespend.py --mineblock] Test ignored: wallet_txn_doublespend.py --mineblock
[18:07:12]i:		 [Bitcoin ABC functional tests] [Test Output]
2020-06-25T18:04:15.707000Z TestFramework (WARNING): Test Skipped: wallet has not been compiled.
2020-06-25T18:04:15.758000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:04:15.758000Z TestFramework (INFO): Cleaning up /work/build-without-wallet/test/tmp/test_runner_₿₵_  _20200625_180332/wallet_txn_doublespend_677 on exit
2020-06-25T18:04:15.759000Z TestFramework (INFO): Test skipped
[18:07:12]i:		 [Bitcoin ABC functional tests] wallet_zapwallettxes.py
[18:07:12]i:			 [wallet_zapwallettxes.py] Test ignored: wallet_zapwallettxes.py
[18:07:12]i:		 [Bitcoin ABC functional tests] [Test Output]
2020-06-25T18:04:11.789000Z TestFramework (WARNING): Test Skipped: wallet has not been compiled.
2020-06-25T18:04:11.839000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:04:11.839000Z TestFramework (INFO): Cleaning up /work/build-without-wallet/test/tmp/test_runner_₿₵_  _20200625_180332/wallet_zapwallettxes_665 on exit
2020-06-25T18:04:11.839000Z TestFramework (INFO): Test skipped
[18:07:16] :	 [Step 1/1]     ../src/test/sigcheckcount_tests.cpp:359
[18:07:16]W:	 [Step 1/1] Process exited with code 1
[18:07:16]E:	 [Step 1/1] Process exited with code 1 (Step: Command Line)
Fabien planned changes to this revision.Jun 25 2020, 18:08

Snippet of first build failure:

2020-06-25T18:14:12.079000Z TestFramework (INFO): Tests successful
[18:15:09]i:		 [Bitcoin ABC functional tests with the next upgrade activated] wallet_multiwallet.py --usecli
[18:15:09]i:			 [wallet_multiwallet.py --usecli] [Test Output]
2020-06-25T18:13:47.291000Z TestFramework (INFO): Initializing test directory /work/build-diff/test/tmp/test_runner_₿₵_  _20200625_181248/wallet_multiwallet_125
2020-06-25T18:13:51.638000Z TestFramework (INFO): Do not allow -zapwallettxes with multiwallet
2020-06-25T18:13:52.398000Z TestFramework (INFO): Do not allow -salvagewallet with multiwallet
2020-06-25T18:13:52.904000Z TestFramework (INFO): Do not allow -upgradewallet with multiwallet
2020-06-25T18:13:55.642000Z TestFramework (INFO): Check for per-wallet settxfee call
2020-06-25T18:13:55.663000Z TestFramework (INFO): Test dynamic wallet loading
2020-06-25T18:13:56.128000Z TestFramework (INFO): Load first wallet
2020-06-25T18:13:56.154000Z TestFramework (INFO): Load second wallet
2020-06-25T18:13:56.179000Z TestFramework (INFO): Load remaining wallets
2020-06-25T18:13:56.281000Z TestFramework (INFO): Test dynamic wallet creation.
2020-06-25T18:13:56.345000Z TestFramework (INFO): Test dynamic wallet unloading
2020-06-25T18:13:57.967000Z TestFramework (INFO): Test wallet backup
2020-06-25T18:13:59.580000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:13:59.890000Z TestFramework (INFO): Cleaning up /work/build-diff/test/tmp/test_runner_₿₵_  _20200625_181248/wallet_multiwallet_125 on exit
2020-06-25T18:13:59.890000Z TestFramework (INFO): Tests successful
[18:15:09]i:		 [Bitcoin ABC functional tests with the next upgrade activated] wallet_resendwallettransactions.py
[18:15:09]i:			 [wallet_resendwallettransactions.py] [Test Output]
2020-06-25T18:13:41.178000Z TestFramework (INFO): Initializing test directory /work/build-diff/test/tmp/test_runner_₿₵_  _20200625_181248/wallet_resendwallettransactions_123
2020-06-25T18:13:41.836000Z TestFramework (INFO): Create a new transaction and wait until it's broadcast
2020-06-25T18:13:43.232000Z TestFramework (INFO): Create a block
2020-06-25T18:13:43.297000Z TestFramework (INFO): Transaction should be rebroadcast after 30 minutes
2020-06-25T18:13:54.725000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:13:54.926000Z TestFramework (INFO): Cleaning up /work/build-diff/test/tmp/test_runner_₿₵_  _20200625_181248/wallet_resendwallettransactions_123 on exit
2020-06-25T18:13:54.926000Z TestFramework (INFO): Tests successful
[18:15:09]i:		 [Bitcoin ABC functional tests with the next upgrade activated] wallet_txn_clone.py
[18:15:09]i:			 [wallet_txn_clone.py] [Test Output]
2020-06-25T18:14:52.754000Z TestFramework (INFO): Initializing test directory /work/build-diff/test/tmp/test_runner_₿₵_  _20200625_181248/wallet_txn_clone_187
2020-06-25T18:14:54.580000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:14:54.683000Z TestFramework (INFO): Cleaning up /work/build-diff/test/tmp/test_runner_₿₵_  _20200625_181248/wallet_txn_clone_187 on exit
2020-06-25T18:14:54.683000Z TestFramework (INFO): Tests successful
[18:15:09]i:		 [Bitcoin ABC functional tests with the next upgrade activated] wallet_txn_clone.py --mineblock
[18:15:09]i:			 [wallet_txn_clone.py --mineblock] [Test Output]
2020-06-25T18:14:41.759000Z TestFramework (INFO): Initializing test directory /work/build-diff/test/tmp/test_runner_₿₵_  _20200625_181248/wallet_txn_clone_166
2020-06-25T18:14:44.610000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:14:44.922000Z TestFramework (INFO): Cleaning up /work/build-diff/test/tmp/test_runner_₿₵_  _20200625_181248/wallet_txn_clone_166 on exit
2020-06-25T18:14:44.922000Z TestFramework (INFO): Tests successful
[18:15:09]i:		 [Bitcoin ABC functional tests with the next upgrade activated] wallet_txn_doublespend.py
[18:15:09]i:			 [wallet_txn_doublespend.py] [Test Output]
2020-06-25T18:15:01.777000Z TestFramework (INFO): Initializing test directory /work/build-diff/test/tmp/test_runner_₿₵_  _20200625_181248/wallet_txn_doublespend_217
2020-06-25T18:15:02.660000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:15:03.014000Z TestFramework (INFO): Cleaning up /work/build-diff/test/tmp/test_runner_₿₵_  _20200625_181248/wallet_txn_doublespend_217 on exit
2020-06-25T18:15:03.014000Z TestFramework (INFO): Tests successful
[18:15:09]i:		 [Bitcoin ABC functional tests with the next upgrade activated] wallet_txn_doublespend.py --mineblock
[18:15:09]i:			 [wallet_txn_doublespend.py --mineblock] [Test Output]
2020-06-25T18:14:41.774000Z TestFramework (INFO): Initializing test directory /work/build-diff/test/tmp/test_runner_₿₵_  _20200625_181248/wallet_txn_doublespend_167
2020-06-25T18:14:44.766000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:14:44.970000Z TestFramework (INFO): Cleaning up /work/build-diff/test/tmp/test_runner_₿₵_  _20200625_181248/wallet_txn_doublespend_167 on exit
2020-06-25T18:14:44.970000Z TestFramework (INFO): Tests successful
[18:15:09]i:		 [Bitcoin ABC functional tests with the next upgrade activated] wallet_zapwallettxes.py
[18:15:09]i:			 [wallet_zapwallettxes.py] [Test Output]
2020-06-25T18:14:32.460000Z TestFramework (INFO): Initializing test directory /work/build-diff/test/tmp/test_runner_₿₵_  _20200625_181248/wallet_zapwallettxes_155
2020-06-25T18:14:32.782000Z TestFramework (INFO): Mining blocks...
2020-06-25T18:14:34.481000Z TestFramework (INFO): Stopping nodes
2020-06-25T18:14:34.734000Z TestFramework (INFO): Cleaning up /work/build-diff/test/tmp/test_runner_₿₵_  _20200625_181248/wallet_zapwallettxes_155 on exit
2020-06-25T18:14:34.734000Z TestFramework (INFO): Tests successful
[18:15:14]W:	 [Step 1/1] Process exited with code 1
[18:15:15]E:	 [Step 1/1] Process exited with code 1 (Step: Command Line)
Fabien planned changes to this revision.Jun 25 2020, 19:30

Restore teamcity detection

jasonbcox requested changes to this revision.Jun 25 2020, 20:56
jasonbcox added a subscriber: jasonbcox.

The rest of this patch looks good, just needs some polish.

contrib/teamcity/build-configurations.json
141 ↗(On Diff #21779)

Similar to the other logs, this should probably be "sanitizer_logs": "log/tsan.log"

Minor note: the .log on the end also helps selecting the default application to read the log, which makes it a couple less clicks to investigate from the browser.

149 ↗(On Diff #21779)

ditto, but log/ubsan.log

contrib/teamcity/build-configurations.py
28 ↗(On Diff #21779)

Nit: /result -> /results

54 ↗(On Diff #21779)

It would be helpful for future investigations for this to print a warning and the entire pattern searched.

This revision now requires changes to proceed.Jun 25 2020, 20:56
Fabien requested review of this revision.Jun 26 2020, 07:46
Fabien added inline comments.
contrib/teamcity/build-configurations.json
141 ↗(On Diff #21779)

sanitizer_logs is a directory, and can contain several log files, so the output will be log/sanitizer_logs/tsan.log.42 with a single file for example.

contrib/teamcity/build-configurations.py
54 ↗(On Diff #21779)

This is actually something you don't want in your log, glob is easy enough as a pattern that it's not worth it.
Furthermore this is the expected behavior to not copy artifacts if they don't exist: it is a normal case to miss some output files if the build fail.

You are kinda getting this today in the build log in the form of:

cp: cannot stat '/tmp/sanitizer_logs': No such file or directory
[22:37:43]W:	 [Step 1/1] cp: cannot stat '/work/build-without-wallet': No such file or directory
[22:37:43]W:	 [Step 1/1] cp: cannot stat '/work/abc-ci-builds/build-without-wallet': No such file or directory
[22:37:43]W:	 [Step 1/1] cp: cannot stat '/work/ibd/debug.log': No such file or directory

at the end of the log, which is very confusing because it tells you that the cp command is the cause of failure, which it is not.

This revision is now accepted and ready to land.Jun 26 2020, 15:39