func ValidateVersionIntegrity()

in code/go/internal/validator/semantic/validate_version_integrity.go [21:47]


func ValidateVersionIntegrity(fsys fspath.FS) specerrors.ValidationErrors {
	manifestVersion, err := readManifestVersion(fsys)
	if err != nil {
		return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
	}

	changelogVersions, err := readChangelogVersions(fsys)
	if err != nil {
		return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
	}

	err = ensureUniqueVersions(changelogVersions)
	if err != nil {
		return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
	}

	err = ensureManifestVersionHasChangelogEntry(manifestVersion, changelogVersions)
	if err != nil {
		return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
	}

	err = ensureChangelogLatestVersionIsGreaterThanOthers(changelogVersions)
	if err != nil {
		return specerrors.ValidationErrors{specerrors.NewStructuredError(err, specerrors.UnassignedCode)}
	}
	return nil
}