-
Notifications
You must be signed in to change notification settings - Fork 19
HBASE-24642: Apache Yetus test-patch and Jenkins integration. #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@ndimiduk / @busbey Mind taking a look at this one? You folks are probably the most knowledgeable about Yetus related stuff, so appreciate any inputs. To give you some context, @phrocker and I are working on reviving hbase-native-client by fixing the build system and a ton of bugs and as a part of that I'm trying to add a precommit job for testing changes. Effort is tracked in HBASE-24537 and related jiras but I'm happy to fill you in on any additional context that is required. Also if you are interested, please take a look at the recent commits in the repo. Thanks. |
|
Anyone has some free cycles to take a look at this patch? It should be fairly straight forward with some basic understanding of Yetus. There are some minor quirks with cmake integration but I can add more context as needed. Thank you. @phrocker FYI. I'm not able to add you as a reviewer, so @ mentioning for heads up. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated the patch to include the Jenkins integration, its probably easier for reviewers to review them together.
Jenkins job: https://builds.apache.org/view/H-L/view/HBase/job/hbase-native-client-github-precommit/
Sample run (for output): bharathv#3 (see comments)
|
@bharathv I will take a look. sorry for the delay. |
phrocker
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lgtm!
joshelser
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, overall. Just some comments to clean up :)
| fi | ||
| personality_enqueue_module . ${args} | ||
| } | ||
| ## This is named so that yetus will check us right after running tests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whack these comments?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
Adds the plumbing needed to run test-patch tooling from Yetus.
Sample output (with a few failing tests).
| Vote | Subsystem | Runtime | Comment
============================================================================
+---------------------------------------------------------------------------
| | | | Prechecks
+---------------------------------------------------------------------------
+---------------------------------------------------------------------------
| | | | master Compile Tests
+---------------------------------------------------------------------------
| +1 | CMakeLists.txt | 2m 9s | master passed
| +1 | compile | 0m 44s | master passed
+---------------------------------------------------------------------------
| | | | Patch Compile Tests
+---------------------------------------------------------------------------
| +1 | CMakeLists.txt | 2m 3s | the patch passed
| +1 | compile | 13m 54s | the patch passed
+---------------------------------------------------------------------------
| | | | Other Tests
+---------------------------------------------------------------------------
| -1 | unit | 0m 34s | root in the patch failed.
| | | 21m 1s |
Reason | Tests
Failed CTEST tests | async-batch-rpc-retrying-test
| async-rpc-retrying-test
| client-test
| filter-test
| location-cache-retry-test
| location-cache-test
| scanner-test
Supports both docker and non-docker mode. Runs all the unit-tests
as a part of the test-patch run.
Additionally adds the Jenkins integration needed to run the precommit
on Apache infra. To be hooked up with the following job
https://builds.apache.org/view/H-L/view/HBase/job/hbase-native-client-github-precommit/
Adds the plumbing needed to run test-patch tooling from Yetus.
Example:
YETUS_ARGS=patch.diff bin/run_tests_with_yetus.sh (without docker)
RUN_IN_DOCKER=true YETUS_ARGS='--dirty-workspace patch.diff' bin/run_tests_with_yetus.sh
(with docker)
Sample output (with a few failing tests).
| Vote | Subsystem | Runtime | Comment
+---------------------------------------------------------------------------
| | | | Prechecks
+---------------------------------------------------------------------------
+---------------------------------------------------------------------------
| | | | master Compile Tests
+---------------------------------------------------------------------------
| +1 | CMakeLists.txt | 2m 9s | master passed
| +1 | compile | 0m 44s | master passed
+---------------------------------------------------------------------------
| | | | Patch Compile Tests
+---------------------------------------------------------------------------
| +1 | CMakeLists.txt | 2m 3s | the patch passed
| +1 | compile | 13m 54s | the patch passed
+---------------------------------------------------------------------------
| | | | Other Tests
+---------------------------------------------------------------------------
| -1 | unit | 0m 34s | root in the patch failed.
| | | 21m 1s |
Failed CTEST tests | async-batch-rpc-retrying-test
| async-rpc-retrying-test
| client-test
| filter-test
| location-cache-retry-test
| location-cache-test
| scanner-test
Supports both docker and non-docker mode. Runs all the unit-tests
as a part of the test-patch run.
Follow on patches will add the necessary integration with Jenkins
for pre-commit builds.