func()

in cmd/release/utils/git/pr.go [19:45]


func (gm *Manager) OpenPR() error {
	if err := gm.currentBranchMustBeChangesBranch(); err != nil {
		return fmt.Errorf("checking expected branch before opening PR: %w", err)
	}

	prTitle, err := gm.ct.GetDescription(gm.version)
	if err != nil {
		return fmt.Errorf("getting PR description: %w", err)
	}

	cmd := exec.Command("/bin/bash", prScriptPathFromRoot, gm.changesBranch, prTitle)

	cmd.Stdout = outputStream
	cmd.Stderr = errStream

	if err = cmd.Run(); err != nil {
		if err = gm.abandonChangesBranch(); err != nil {
			fmt.Printf("checking out original branch after opening PR: %v\n", err)
		}
		return fmt.Errorf("opening PR: %v", err)
	}

	if err = gm.abandonChangesBranch(); err != nil {
		return fmt.Errorf("checking out original branch after opening PR: %w", err)
	}
	return nil
}