Matrix project axis creation and exclusion plugin using yaml file
example
# axis.yml
RUBY_VERSION:
- 2.1.8
- 2.2.4
- 2.3.0
exclude:
- RUBY_VERSION: 2.1.8
- RUBY_VERSION: 2.3.0
DATABASE: oracle
Choose Yaml Axis
Input configurations
- Axis yaml file : Yaml file path (relative path from workspace or absolute path)
- Axis name : Top key in yaml file
You can combine Yaml Axis and other axes
If you don't want to exclusion, choose Classic
Generate yaml based matrix and run job 💪
- blue is executed job
- gray is excluded(skipped) job
Excluding pattern may be specified with List of Map (e.g. List<Map<String, [String or List]>>)
Elements in the Map may be a List to exclude multiple items for one key
# axis.yml
exclude:
- RUBY_VERSION: 2.1.8
- RUBY_VERSION: 2.3.0
DATABASE: oracle
When specified 2 axes
This results in a 3x3 build matrix.
- When specified
RUBY_VERSIONvalue2.1.8, 3 results are excludedRUBY_VERSIONvalue2.1.8andDATABASEvaluemysqlis excludedRUBY_VERSIONvalue2.1.8andDATABASEvaluepostgresis excludedRUBY_VERSIONvalue2.1.8andDATABASEvalueoracleis excluded
- When specified
RUBY_VERSIONvalue2.3.0andDATABASEvalueoracle, 1 result is excludedRUBY_VERSIONvalue2.3.0andDATABASEvalueoracleis excluded
# axis2.yml
exclude:
- RUBY_VERSION: 2.1.8
- RUBY_VERSION: 2.3.0
DATABASE:
- oracle
- mysql
- When specified
RUBY_VERSIONvalue2.1.8, 3 results are excludedRUBY_VERSIONvalue2.1.8andDATABASEvaluemysqlis excludedRUBY_VERSIONvalue2.1.8andDATABASEvaluepostgresis excludedRUBY_VERSIONvalue2.1.8andDATABASEvalueoracleis excluded
- When specified
RUBY_VERSIONvalue2.3.0, 2 results are excludedRUBY_VERSIONvalue2.3.0andDATABASEvalueoracleis excludedRUBY_VERSIONvalue2.3.0andDATABASEvaluemysqlis excluded
Using multiple lists will exclude the cartesian product of those lists.
# axis3.yml
exclude:
- RUBY_VERSION:
- 2.1.8
- 2.3.0
DATABASE:
- oracle
- mysql
- 4 results are excluded
RUBY_VERSIONvalue2.1.8andDATABASEvaluemysqlis excludedRUBY_VERSIONvalue2.1.8andDATABASEvalueoracleis excludedRUBY_VERSIONvalue2.3.0andDATABASEvalueoracleis excludedRUBY_VERSIONvalue2.3.0andDATABASEvaluemysqlis excluded







