func main()

in cmd/release/number/main.go [17:61]


func main() {
	branch := flag.String("branch", "", "Release branch, e.g. 1-20")
	isProd := flag.Bool("isProd", false, "True for prod; false for dev")

	flag.Parse()

	environment := func() changetype.ChangeType {
		if *isProd {
			return changetype.Prod
		}
		return changetype.Dev
	}()

	nextNumber, numberFilePath, err := getNextNumber(*branch, environment)
	if err != nil {
		log.Fatalf("calculating %s RELEASE: %v", environment, err)
	}

	gm, err := git.CreateGitManager(*branch, nextNumber, environment)
	if err != nil {
		log.Fatalf("creating git manager for %s RELEASE: %v", environment, err)
	}

	if err = updateEnvironmentReleaseNumber(nextNumber, numberFilePath); err != nil {
		cleanUpErrs := gm.RestoreFileAndAbandonAllChanges(numberFilePath)
		if len(cleanUpErrs) > 0 {
			log.Printf("encountered %d error(s) while attemptng to clean up due to earlier error: %v",
				len(cleanUpErrs), cleanUpErrs)
		}
		log.Fatalf("writing to %s RELEASE: %v", environment, err)
	}

	if err = gm.AddAndCommit(numberFilePath); err != nil {
		cleanUpErrs := gm.RestoreFileAndAbandonAllChanges(numberFilePath)
		if len(cleanUpErrs) > 0 {
			log.Printf("encountered %d error(s) while attemptng to clean up due to earlier error: %v",
				len(cleanUpErrs), cleanUpErrs)
		}
		log.Fatalf("adding and committing: %v", err)
	}

	if err = gm.OpenPR(); err != nil {
		log.Fatalf("adding and committing: %v", err)
	}
}