From af40856bb447795a8eef239462715d69f2425765 Mon Sep 17 00:00:00 2001 From: Stefan Bueringer Date: Thu, 20 Jul 2023 12:11:37 +0200 Subject: [PATCH] hack/release-notes: add repo flag, make area label optional MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stefan Büringer buringerst@vmware.com --- hack/tools/release/notes.go | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/hack/tools/release/notes.go b/hack/tools/release/notes.go index f4d61df647ac..fbe6493b8e54 100644 --- a/hack/tools/release/notes.go +++ b/hack/tools/release/notes.go @@ -63,12 +63,16 @@ var ( unknown, } + repo = flag.String("repo", "kubernetes-sigs/cluster-api", "The tag or commit to start from.") + fromTag = flag.String("from", "", "The tag or commit to start from.") since = flag.String("since", "", "Include commits starting from and including this date. Accepts format: YYYY-MM-DD") until = flag.String("until", "", "Include commits up to and including this date. Accepts format: YYYY-MM-DD") numWorkers = flag.Int("workers", 10, "Number of concurrent routines to process PR entries. If running into GitHub rate limiting, use 1.") + prefixAreaLabel = flag.Bool("prefix-area-label", true, "If enabled, will prefix the area label.") + tagRegex = regexp.MustCompile(`^\[release-[\w-\.]*\]`) userFriendlyAreas = map[string]string{ @@ -154,7 +158,7 @@ func getAreaLabel(merge string) (string, error) { // Get pr id from merge commit prID := strings.Replace(strings.TrimSpace(strings.Split(merge, " ")[3]), "#", "", -1) - cmd := exec.Command("gh", "api", "repos/kubernetes-sigs/cluster-api/pulls/"+prID) //nolint:gosec + cmd := exec.Command("gh", "api", fmt.Sprintf("repos/%s/pulls/%s", *repo, prID)) //nolint:gosec out, err := cmd.CombinedOutput() if err != nil { @@ -411,9 +415,14 @@ func generateReleaseNoteEntry(c *commit) (*releaseNoteEntry, error) { entry := &releaseNoteEntry{} entry.title = trimTitle(c.body) var fork string - area, err := getAreaLabel(c.merge) - if err != nil { - return nil, err + + var area string + if *prefixAreaLabel { + var err error + area, err = getAreaLabel(c.merge) + if err != nil { + return nil, err + } } switch { @@ -458,7 +467,11 @@ func generateReleaseNoteEntry(c *commit) (*releaseNoteEntry, error) { if entry.title == "" { return entry, nil } - entry.title = fmt.Sprintf("- %s: %s", area, entry.title) + + if *prefixAreaLabel { + entry.title = fmt.Sprintf("- %s: %s", area, entry.title) + } + _, _ = fmt.Sscanf(c.merge, "Merge pull request %s from %s", &entry.prNumber, &fork) entry.title = formatMerge(entry.title, entry.prNumber)