-
Notifications
You must be signed in to change notification settings - Fork 279
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
Separate Jenkins gradle check
job for runs against committed code
#4469
Comments
@rishabh6788 is working on a POC to automate the health dashboard for all repos under OpenSearch project. |
The plan is to index all the failing tests to an opensearch cluster for each and every
To be able to separate out gradle-check runs for each PR merge instead of each commit run to an open PR the user can filter on |
@rishabh6788 Looks very promising, I'm excited to see a dashboard with this information! |
Need to replace curl with higher version on gradle check host to support aws-sigv4. |
@rishabh6788 Is there a way to query this data? Seems like information is getting stored as part of GitHub's metadata around commits, not sure how accessible this will be |
@peternied @andrross The PR to index failed test results along with associated PR # and PR Description has been merged and is actively running for each
I will work on creating a dashboard over the results and share with you. We are also working to grant community members readonly access to this data. |
There is an API that produces json from the test results that is part of the Jenkins instance, for your example https://build.ci.opensearch.org/job/gradle-check/35918/testReport/api/json?tree=suites[cases[status,className,name]] By inspecting from PRs -> failures, these can be discovered and inspected such as with tool contribution-rate to create such as these top test failures, reports/20240325/top_test_failures.csv If that data was pushed into a read only OpenSearch instance for consumption or easier yet a git repository rather than on Jenkins it would be far more useful. |
@peternied I am using Jenkins groovy pipeline methods to fetch the failed tests from the current build that is running, which gives the exact same data that you posted, and pushing it to OpenSearch cluster. |
@rishabh6788 Thanks for giving me that quick overview earlier today, here are some items that I'd think would be really useful to include:
Depending on the workflow either
Ideally also get failure information:
|
Is your feature request related to a problem? Please describe
The opensearch-project/OpenSearch repo has a well documented problem with non-reproducible test failures (i.e. flaky tests). It would be good to have an easily accessible place to observe trends over time with regard to test failures, test runtimes, etc. The existing Jenkins gradle-check can kind of give us that information, but it is very noisy as it has failures from PRs where the uncommitted code contains problems.
Describe the solution you'd like
We already run the
gradle-check
job after every commit to main. Ideally this code should never have failures (they should be caught in the PR stage). Having a separate job to observe the health of check runs against committed code will eliminate the noise from failures related to code still under review.To accomplish this, I believe we'd need to set up another job in Jenkins, and then modify this GHA script to differentiate between runs triggered by
pull_request_target
versuspush
.I'm also interested in other ideas on how to show the health of
gradle-check
over time with PR noise filtered out.Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: