Refactor the cycleDefinition.json format
- Dominant language
- Java
- Stars
- 80
- Forks
- 17
- PR merge metrics
- No merged PRs in 30d
Description
# Refactor the cycleDefinition.json format
## Context
Actually the cycleDefinition terms and format are not really clear :
* The hierarchy doesn't respect the `execution -> country_deployment -> run` of ARA
* There are two `blockingValidation` nodes meaning different things depending of the containing object.
* There is one node per platform + country : either all runs of that country are included in thresholds or none of them.
Here is an example of the current JSON structure :
```json
{
"blockingValidation": true,
"platforms_rules": {
"integration-platform": [
{
"enabled": true,
"blockingValidation": true,
"country": "fr",
"testTypes": "api,firefox",
"countryTags": "all",
"severityTags": "all"
}
]
},
"qualityThresholds": {
"high": {
"failure": 90,
"warning": 95
}
}
}
```
## Expected
Change the format of the cycleDefinition to fix those issues :
* Readapt the hierarchy to the ARA one
* The `blockingValidation` of an innermost object should be renamed `includeInThreshold`
* The `testTypes` should be split into several `run` definitions to allow to exclude one specific run from thresholds.
Here is the example bellow updated to respect the proposed format :
```
{
"blockingValidation": true,
"runs": [ // __REWORKED__ from 1 platform_rules/exec to several runs/exec
{
"enabled": true,
"includeInThresholds": true, // __RENAMED__ from blockingValidation
"country": "fr",
"type": "api", // __REWORKED__ from '1 node = 1 country + n testTypes' to '1 node = 1 (country+testType)'
// __DELETED__ "countryTags" as it has no effect on ARA
"severityTags": "all",
"platform": "integration-platform" // __NEW__
},
...
],
"qualityThresholds": {
"high": {
"failure": 90,
"warning": 95
},
...
}
}
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.