Verify VV Versions For Production Release (SL019)

Verifies that the vv.yaml file has accurate release versions and production release type.

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.WARNING violations are reported for incorrect release versions and inaccurate release types in vv.yaml file.If no service POM is found and no vv version configurations files are found, this rule is not executed.

Rationale

VV version configuration for Production releases need to accurate and up to date.

Findings

  • WARNING

    • 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 vv.yaml values
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 vv.yaml values
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.

Configuration

This rule has no configuration.