networkupstools / jenkins-dynamatrix

A shared library to do a sort of matrix build based on available swarm agent labels
Other
2 stars 1 forks source link

Need to allow constraints for selection of just a few build scenarios #2

Open jimklimov opened 3 years ago

jimklimov commented 3 years ago

While the original goal of Dynamatrix is to check as many different combinations as possible by agent capabilities, there may be some scenarios that are okay to check only once wherever is able to do so, or in a few combos and not exhaustively, to keep overall build times in check:

Implementation idea: use the remaining build combo factors (OS family/distro...) as a map key, so as the value for each we can assign the newest ${COMPILER}VER version available on that system - note we need a way to cater for auto-substituted values here, e.g. COMPILER above can expand to separately CLANGVER and GCCVER.

jimklimov commented 3 years ago

Updated dynamatrix to handle a customized commonLabelExpr so a different set of agents can be inspected for (also customizable, e.g. reduced to not iterate {COMPILER}VER for docs builds) dynamatrixAxesLabels they serve, and other data.

Along with excludedNodelabels and requiredNodelabels filters, this addresses much of the concern above, by carefully crafting the "slowBuild filter" definition.

It still does not let constrain the build combos by spec desired from issue description though.