-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Closed
Labels
:Delivery/BuildBuild or test infrastructureBuild or test infrastructureTeam:DeliveryMeta label for Delivery teamMeta label for Delivery team
Description
We should create a single metadata file such as for each version:
features:
- rolling-upgrade
- fips
versions:
7.0.0:
released: false
latest-qualifier: alpha1
supports: [ 'rolling-upgrade', 'fips' ]
minimumJavaVersion: 8
maxJavaVersion: 11
testing:
rolling-upgrade:
from: '5.6.0'
project: ':qa:rolling-upgrade'
task: ''
The actual fields in the final metadata will vary, we will only model what is needed, the above snippet is just a sample of how this could end up. The key takeaway is that :
- the information is factual, fine grained and complete. All information required for deciding on tests should be present here. It's expected that the implementation that reads this meta data will have methods like
bwcVersions(feature),javaVersion(feature, version)etc so the tests don't have to make that decision locally. - provides an (also) human readable summary of which features are supported where and how we test them
- allows for some level of automatic validation
Steps:
- consensus on the approach and format
- start consuming these from tests and extending the metadata as we go
- write a task to validate that all tasks were generated and the dependency chain is correct for
bwcTeststhe task would check the task graph and error out ifbwcTestsis on it but not all testing tasks are (assume consistent task naming). - write a task to generate a
.dotgraph to visualize the testing that is done
References:
Metadata
Metadata
Assignees
Labels
:Delivery/BuildBuild or test infrastructureBuild or test infrastructureTeam:DeliveryMeta label for Delivery teamMeta label for Delivery team