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_VERSION
value2.1.8
, 3 results are excludedRUBY_VERSION
value2.1.8
andDATABASE
valuemysql
is excludedRUBY_VERSION
value2.1.8
andDATABASE
valuepostgres
is excludedRUBY_VERSION
value2.1.8
andDATABASE
valueoracle
is excluded
- When specified
RUBY_VERSION
value2.3.0
andDATABASE
valueoracle
, 1 result is excludedRUBY_VERSION
value2.3.0
andDATABASE
valueoracle
is excluded
# axis2.yml
exclude:
- RUBY_VERSION: 2.1.8
- RUBY_VERSION: 2.3.0
DATABASE:
- oracle
- mysql
- When specified
RUBY_VERSION
value2.1.8
, 3 results are excludedRUBY_VERSION
value2.1.8
andDATABASE
valuemysql
is excludedRUBY_VERSION
value2.1.8
andDATABASE
valuepostgres
is excludedRUBY_VERSION
value2.1.8
andDATABASE
valueoracle
is excluded
- When specified
RUBY_VERSION
value2.3.0
, 2 results are excludedRUBY_VERSION
value2.3.0
andDATABASE
valueoracle
is excludedRUBY_VERSION
value2.3.0
andDATABASE
valuemysql
is 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_VERSION
value2.1.8
andDATABASE
valuemysql
is excludedRUBY_VERSION
value2.1.8
andDATABASE
valueoracle
is excludedRUBY_VERSION
value2.3.0
andDATABASE
valueoracle
is excludedRUBY_VERSION
value2.3.0
andDATABASE
valuemysql
is excluded