Page MenuHomePhabricator

[build-configurations] Add build and tests without wallet to build-diff
AbandonedPublic

Authored by jasonbcox on May 5 2020, 18:31.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Summary

This is one of our most common failure modes for changes landed on master that end up broken.
We should check it on every diff.

The tradeoff of this increased test coverage on diffs is increased build times by ~5-6 minutes.

Test Plan

ABC_BUILD_NAME=build-diff ./build-configurations.sh
Also verify the run on CI reports all tests as expected.

Diff Detail

Repository
rABC Bitcoin ABC
Branch
diff-wo-wallet
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 10613
Build 19035: Default Diff Build & Tests
Build 19034: arc lint + arc unit

Event Timeline

Fabien requested changes to this revision.May 6 2020, 08:50
Fabien added a subscriber: Fabien.

I don't get why you duplicate the tests here ? I suppose you can either remove the build-without-wallet configuration, or call build-configuration.sh for running build-without-wallet from the build-diff case ?

This revision now requires changes to proceed.May 6 2020, 08:50
  • Call build-configurations.sh recursively to execute disabled wallet tests
  • Ensure logs are retained between the multiple runs of tests in build-diff

Snippet of first build failure:

[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  41% (14/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  44% (15/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  47% (16/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  50% (17/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  52% (18/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  55% (19/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  58% (20/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  61% (21/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  64% (22/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  67% (23/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  70% (24/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  73% (25/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  76% (26/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  79% (27/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  82% (28/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  85% (29/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  88% (30/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  91% (31/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  94% (32/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects:  97% (33/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects: 100% (34/34)        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Compressing objects: 100% (34/34), done.        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] remote: Total 34 (delta 29), reused 0 (delta 0), pack-reused 0        
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750] From ssh://reviews.bitcoinabc.org:2221/source/bitcoin-abc-staging
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750]  * [new tag]             phabricator/diff/19750 -> phabricator/diff/19750
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750]  * [new tag]             phabricator/base/19725 -> phabricator/base/19725
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750]  * [new tag]             phabricator/base/19724 -> phabricator/base/19724
[15:46:49]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/19750:refs/tags/phabricator/diff/19750]  * [new tag]             phabricator/base/19750 -> phabricator/base/19750
[15:46:49] :			 [Update git mirror (/home/teamcity/buildAgent/system/git/git-48AA3180.git)] /usr/bin/git log -n1 --pretty=format:%H%x20%s b86389e112132bd9840466868e3d6eced5a19756 --
[15:46:49] :			 [Update git mirror (/home/teamcity/buildAgent/system/git/git-48AA3180.git)] /usr/bin/git pack-refs --all
[15:46:49] :		 [VCS Root: Bitcoin ABC Staging] Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)
[15:46:49] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] The .git directory is missing in '/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc'. Running 'git init'...
[15:46:49] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git init
[15:46:49] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git config lfs.storage /home/teamcity/buildAgent/system/git/git-48AA3180.git/lfs
[15:46:49] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git config core.sparseCheckout true
[15:46:49] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git config http.sslCAInfo
[15:46:49] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref
[15:46:49] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref refs/tags/phabricator/diff/19750
[15:46:49] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git log -n1 --pretty=format:%H%x20%s b86389e112132bd9840466868e3d6eced5a19756 --
[15:46:49] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git -c credential.helper= checkout -q -f phabricator/diff/19750
[15:46:49] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref refs/tags/phabricator/diff/19750
[15:46:49] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] Cleaning Bitcoin ABC Staging in /home/teamcity/buildAgent/work/jailed-build/bitcoin-abc the file set ALL_UNTRACKED
[15:46:49] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git clean -f -d -x
[15:46:49] : Build preparation done
[15:46:49]E: Step 1/2: Command Line (4m:47s)
[15:46:49] :	 [Step 1/2] Ant JUnit report watcher
[15:46:49] :		 [Ant JUnit report watcher] Watching paths:
[15:46:49] :		 [Ant JUnit report watcher] +:results/test_bitcoin.xml
[15:46:49] :		 [Ant JUnit report watcher] +:results/**/junit_results*.xml
[15:46:49] :	 [Step 1/2] Starting: /home/teamcity/buildAgent/temp/agentTmp/custom_script1821983128948345764
[15:46:49] :	 [Step 1/2] in directory: /home/teamcity/buildAgent/work/jailed-build
[15:46:49] :	 [Step 1/2] ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[15:46:50] :	 [Step 1/2] ~/buildAgent/work/jailed-build
[15:46:50] :	 [Step 1/2] Building base image for: b86389e11...
[15:46:50] :	 [Step 1/2] ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[15:46:50] :	 [Step 1/2] ~/buildAgent/work/jailed-build
[15:46:50] :	 [Step 1/2] Tag name: abc-base-image-b86389e11
[15:51:36] :	 [Step 1/2] Error: Failed to pull 'abc-base-image-b86389e11' from registry. See agent logs for details.
[15:51:36]W:	 [Step 1/2] Process exited with code 1
[15:51:37]E:	 [Step 1/2] Process exited with code 1 (Step: Command Line)
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
Fabien requested changes to this revision.May 7 2020, 07:51
Fabien added inline comments.
contrib/teamcity/build-configurations.sh
161

The functional tests results are not copied that way, and I suspect it wouldn't work either if it was copied as the test suite name would be identical for 2 files and Teamcity would just overwrite the result with the most recent file.

This revision now requires changes to proceed.May 7 2020, 07:51