Verify VV Versions For Production Release (SL019)
Verifies that the vv.properties and vv.yaml files have accurate release versions and production release types.
Description
For maven projects with production releases, verify that the version configurations have accurate release versions and correct upcoming release type(major, minor, patch).The current release version must match the current service POM version and the previous release version must match the service version in Production.The upcoming release type is determined by comparing the service POM version to the service version in Production.ERROR violations are reported for incorrect release versions and inaccurate release types in vv configuration files.If no service POM is found and no vv version configurations files are found, this rule is not executed.
Findings
-
ERROR
-
vv.properties value 'versionInProduction' does not match version in Production
-
vv.properties value 'productionReleaseType' does not match the expected release type
-
vv.yaml property value 'previous' does not match version in Production
-
vv.yaml property value 'current' does not match the current service pom version
-
vv.yaml property value 'type' does not match the expected release type
-
Noncompliant
# Inaccurate versionInProduction: service version currently in Production is 1.10.1.
versionInProduction=1.10.2
# Inaccurate productionReleaseType: upcoming release type from 1.10.1 to 1.10.2 should be patch.
productionReleaseType=minor
oisCodeReviewLink=https://issues.mobilehealth.va.gov/browse/REVIEW-137
vamfatId=VAMFAT-1778
targetAudience=Admins
name: "test-service"
type: "shared_service"
product_link: ""
releases:
current: "1.10.1" # Inaccurate current value: current test-service version in POM is 1.10.2.
previous: "1.10.0" # Inaccurate previous value: test-service version currently in Production is 1.10.1.
type: "minor" # Inaccurate type value: release type from 1.10.1 -> 1.10.2 should be patch.
Compliant
# Accurate versionInProduction: service version of '1.10.1' matches current version in Production.
versionInProduction=1.10.1
# Accurate productionReleaseType: upcoming release type from 1.10.1 to 1.10.2 is patch.
productionReleaseType=patch
oisCodeReviewLink=https://issues.mobilehealth.va.gov/browse/REVIEW-137
vamfatId=VAMFAT-1778
targetAudience=Admins
name: "test-service"
type: "shared_service"
product_link: ""
releases:
current: "1.10.2" # Accurate current value: current test-service version in POM is 1.10.2.
previous: "1.10.1" # Accurate previous value: test-service version currently in Production is 1.10.1.
type: "patch" # Accurate type value: release type from 1.10.1 -> 1.10.2 is patch.