-
Notifications
You must be signed in to change notification settings - Fork 513
Enable selective testing of integrations on main and backport branches #4683
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
Enable selective testing of integrations on main and backport branches #4683
Conversation
Running tests for all integrations on all branches launches dozens of jobs. If multiple branches are merged in a short period of time, this can overload CI.
873bdff to
b5e82cf
Compare
v1v
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.
I've been thinking about this, and I wonder if the mapping one-one integration/worker could be changed to n-1 integrations/worker?
So the algorithm will split the number of integrations by X and run them sequentially.
Pros:
- Less number of requested workers
- Less wait for provisioners to provide workers
Cons:
- Builds might take a bit longer for merge commits
What do you think?
mrodm
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.
👍
I think we can do this change, the more packages/integrations are developed, the more time would be spent here testing all integrations.
Applying this change, I think it could be good. Just testing those packages that are involved in the PR. IIRC there will be cases that all the packages will be tested. For instance when .ci/Jenkinsfile or links_table.yml are modified.
In those cases where all the integrations are going to be executed, we can do that n-1 algorithm to run in parallel the testing.
🚀 Benchmarks reportTo see the full report comment with |
🌐 Coverage report
|
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.
Cosmetic change, so default values are as they were previously.
@v1v this sounds like a good idea too, but I think both things could be applied independently, both things bring benefits. Do we already have some helper to do this scheduling? We would need to think about how to do this split efficiently.
Suggestions applied, thanks! |
This would be something like this https://issues.jenkins.io/browse/JENKINS-44085?focusedCommentId=373436&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-373436 |
Running tests for all integrations after any merge launches dozens of jobs. If multiple branches
are merged in a short period of time, this can overload CI.