in cmd/release/internal/release.go [69:121]
func newRelease(inputBranch string, inputEnvironment ReleaseEnvironment, overrideNumber *int) (Release, error) {
inputBranch = strings.TrimSpace(inputBranch)
if len(inputBranch) == 0 {
return Release{}, errors.New("branch cannot be an empty string")
}
var err error
release := Release{
branch: inputBranch,
environment: inputEnvironment,
}
release.KubeGitVersionFilePath = FormatKubeGitVersionFilePath(&release)
if overrideNumber != nil {
release.number, release.previousNumber = convertToNumberAndPrevNumber(*overrideNumber)
} else {
release.previousNumber, err = determinePreviousReleaseNumber(&release)
if err != nil {
return Release{}, fmt.Errorf("error determining previous number: %v", err)
}
release.number, err = determineReleaseNumber(&release)
if err != nil {
return Release{}, fmt.Errorf("error determining number: %v", err)
}
}
release.DocsDirectoryPath = formatReleaseDocsDirectory(release.branch, release.number)
release.ProductionReleasePath = formatEnvironmentReleasePath(release.branch, Production)
release.DevelopmentReleasePath = formatEnvironmentReleasePath(release.branch, Development)
branchEKS := release.branch + "-eks"
release.BranchEKSNumber = fmt.Sprintf("%s-%s", branchEKS, release.number)
release.BranchEKSPreviousNumber = fmt.Sprintf("%s-%s", branchEKS, release.previousNumber)
release.BranchWithDot = strings.Replace(release.branch, "-", ".", 1)
release.BranchWithDotNumber = fmt.Sprintf("%s-%s", release.BranchWithDot, release.number)
release.EKSBranchNumber = fmt.Sprintf("eks-%s-%s", release.branch, release.number)
release.EKSBranchPreviousNumber = fmt.Sprintf("eks-%s-%s", release.branch, release.previousNumber)
release.K8sBranchEKS = "kubernetes-" + branchEKS
release.K8sBranchEKSNumber = fmt.Sprintf("%s-%s", release.K8sBranchEKS, release.number)
release.K8sBranchEKSPreviousNumber = fmt.Sprintf("%s-%s", release.K8sBranchEKS, release.previousNumber)
release.VBranchEKSNumber = "v" + release.BranchEKSNumber
release.VBranchEKSPreviousNumber = "v" + release.BranchEKSPreviousNumber
release.VBranchWithDotNumber = "v" + release.BranchWithDotNumber
release.ManifestURL = formatReleaseManifestURL(release.branch, release.BranchEKSNumber)
release.PreviousManifestURL = formatReleaseManifestURL(release.branch, release.BranchEKSPreviousNumber)
releaseJson, _ := json.MarshalIndent(release, "", "\t")
log.Printf("populated release with:%v", string(releaseJson))
return release, nil
}