-
Notifications
You must be signed in to change notification settings - Fork 2.9k
NIFI-15408 - Explore parallel builds to reintroduce integration tests in code coverage #10714
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
base: main
Are you sure you want to change the base?
Conversation
exceptionfactory
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.
Thanks for working on this @pvillard31.
As far as pulling the images before running tests, does that provide an actual gain over pulling them when needed? It seems like the images would be cached as a result of pulling when running Testcontainers, but I may be missing something.
Reviewing the initial results it looks like the flagged results show improvements in coverage.
As far as the structure, does this mean that new integration tests will need to be listed in the include matrix, or only those with container-based tests?
|
Thanks @exceptionfactory - I didn't mean to remove the draft status on the PR yesterday and I just wanted to let it run to check the results this morning. The integration tests didn't run properly so I'm fixing that and will look at improving things. I do agree with you that caching does not seem useful and would add a maintainability burden. |
|
Thanks for the update @pvillard31, feel free to ping once it is ready for review! |
|
I'll explore how we could potentially include system tests in the code coverage but that seems to be a significant effort so I'll be doing that in a separate/follow-up issue. I think this is good as-is for now. Thanks @exceptionfactory ! |
exceptionfactory
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.
Thanks @pvillard31, this looks more succinct. I noted a couple minor recommendations.
.github/workflows/code-coverage.yml
Outdated
| - name: Find Coverage Reports | ||
| id: find-reports | ||
| if: always() | ||
| run: | | ||
| REPORTS=$(find . -path "*/target/site/jacoco/jacoco.xml" -type f | tr '\n' ',' | sed 's/,$//') | ||
| echo "reports=$REPORTS" >> $GITHUB_OUTPUT | ||
| echo "Found $(echo "$REPORTS" | tr ',' '\n' | wc -l) coverage reports" |
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.
Is this step necessary? It seems like some coverage reports should always be produced, and avoiding scripting is better for maintainability.
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.
you're right I think this is a leftover that I didn't remove after trying the matrix build approach
exceptionfactory
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.
Thanks for the updates @pvillard31, this looks closer to completion, but needs a few more adjustments to the integration tests job.
|
OK this time, we should be good, we are back at 52%+ of coverage - cc @exceptionfactory Two key changes:
|
Summary
NIFI-15408 - Explore parallel builds to reintroduce integration tests in code coverage
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking
Pull Request Tracking
NIFI-00000NIFI-00000VerifiedstatusPull Request Formatting
mainbranchVerification
Please indicate the verification steps performed prior to pull request creation.
Build
./mvnw clean install -P contrib-checkLicensing
LICENSEandNOTICEfilesDocumentation