Skip to content

feat(pipeline): split test combinations - #7086

Draft
lemeurherve wants to merge 6 commits into
jenkinsci:masterfrom
lemeurherve:7037-03-splits
Draft

feat(pipeline): split test combinations#7086
lemeurherve wants to merge 6 commits into
jenkinsci:masterfrom
lemeurherve:7037-03-splits

Conversation

@lemeurherve

@lemeurherve lemeurherve commented Jul 16, 2026

Copy link
Copy Markdown
Member

This change splits test executions to run many of them from a reasonable number of agents in parallel instead of one per combination.

The default maximum number that I choose to get a baseline is 20, to be refined after more observations.

When it's a weekly-test build on the weekly line, it splits the 295 combinations, to be executed on 20 x 1 parallel agents.
When it's a full-test build on the weekly and oldest lines, it splits the 592 combinations, to be executed on 20 x 2 parallel agents.

Extracted from:

Tip

Commit to review: e227b2c?w=1

Refs:

Testing done

CI

Initial build, with full-test and limited-plugin-set labels: https://ci.jenkins.io/job/Tools/job/bom/job/PR-7086/4

Details
image

Subsequent build, with weekly-test and limited-plugin-set labels + a retry (spot reclaimed): https://ci.jenkins.io/job/Tools/job/bom/job/PR-7086/11

Details
image

Next build, with weekly-test and limited-plugin-set labels + some retries (spot reclaimed): https://ci.jenkins.io/job/Tools/job/bom/job/PR-7086/12

Details
image

Build without any label (no weekly-test no full-test), generating a new prep archive and skipping other stages than "flag checks" and "publish incrementals" as expected: https://ci.jenkins.io/job/Tools/job/bom/job/PR-7086/31/

image

Build with weekly-test label only, test failure matrix-project (known flake): https://ci.jenkins.io/job/Tools/job/bom/job/PR-7086/32

Details
image

Split combinations:

image

bom-report_PR-7086_BUILD-32.xml
bom-report_PR-7086_BUILD-32.txt

Build with full-test label only triggered with "Build now" in UI: https://ci.jenkins.io/job/Tools/job/bom/job/PR-7086/32

Details

(in progress)

...

Nodes YAML: https://gist.github.com/lemeurherve/d29ce9c9c65cc9b7af03edc3b7b4cec6

Submitter checklist

  • Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
  • Ensure that the pull request title represents the desired changelog entry
  • Please describe what you did
  • Link to relevant issues in GitHub or Jira
  • Link to relevant pull requests, esp. upstream and downstream changes
  • Ensure you have provided tests that demonstrate the feature works or the issue is fixed

@lemeurherve lemeurherve added enhancement New feature or request internal full-test Test all LTS lines in this PR and do not halt upon first error. limited-plugin-set Run on (hardcoded) limited set of plugins, for debugging purposes labels Jul 16, 2026
@lemeurherve
lemeurherve force-pushed the 7037-03-splits branch 3 times, most recently from e409c82 to dc9067a Compare July 16, 2026 21:52
@lemeurherve lemeurherve added weekly-test Test only the Weekly line in this PR and removed full-test Test all LTS lines in this PR and do not halt upon first error. labels Jul 16, 2026
@lemeurherve
lemeurherve marked this pull request as ready for review July 17, 2026 00:14
@lemeurherve
lemeurherve requested a review from a team as a code owner July 17, 2026 00:14
@lemeurherve
lemeurherve marked this pull request as draft July 17, 2026 00:20
@lemeurherve lemeurherve added weekly-test Test only the Weekly line in this PR limited-plugin-set Run on (hardcoded) limited set of plugins, for debugging purposes and removed weekly-test Test only the Weekly line in this PR limited-plugin-set Run on (hardcoded) limited set of plugins, for debugging purposes labels Jul 17, 2026
@lemeurherve lemeurherve removed weekly-test Test only the Weekly line in this PR limited-plugin-set Run on (hardcoded) limited set of plugins, for debugging purposes labels Jul 17, 2026
@lemeurherve
lemeurherve force-pushed the 7037-03-splits branch 3 times, most recently from ee2aa7a to 77d7fba Compare July 17, 2026 01:16
@lemeurherve lemeurherve mentioned this pull request Jul 17, 2026
12 tasks
@timja

timja commented Jul 17, 2026

Copy link
Copy Markdown
Member

Possible to extract build timings / reliability into a table showing impact?

@lemeurherve lemeurherve added the weekly-test Test only the Weekly line in this PR label Jul 17, 2026
@lemeurherve

lemeurherve commented Jul 17, 2026

Copy link
Copy Markdown
Member Author

Possible to extract build timings / reliability into a table showing impact?

Yes, I'm slowing down and taking the time to report everything properly in #7037 and explaining in more details what I've done and integrated1 before continuing.

Footnotes

  1. been going too fast, I really wanted to ship splits before my two PTO weeks, in hope of seeing actual proper costs reductions when I would be back. That was a mistake, presenting my excuses and later probably some rollbacks.

@lemeurherve

lemeurherve commented Jul 17, 2026

Copy link
Copy Markdown
Member Author

Possible to extract build timings / reliability into a table showing impact?

Started collecting links and data in #7073 comments, more in two weeks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request full-test Test all LTS lines in this PR and do not halt upon first error. internal

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants