in code/go/internal/validator/semantic/validate_version_integrity.go [145:165]
func ensureChangelogLatestVersionIsGreaterThanOthers(versions []string) error {
if len(versions) == 0 {
return errors.New("no versions found in changelog")
}
latestVersion, err := semver.NewVersion(versions[0])
if err != nil {
return fmt.Errorf("could not read package manifest version [%s]: %w", versions[0], err)
}
for _, v := range versions[1:] {
changelogVersion, err := semver.NewVersion(v)
if err != nil {
return fmt.Errorf("could not read package manifest version [%s]: %w", changelogVersion, err)
}
if changelogVersion.GreaterThanEqual(latestVersion) {
return fmt.Errorf("changelog entry %s is greater than or equal to first changelog entry: %s", changelogVersion, latestVersion)
}
}
return nil
}