-
Notifications
You must be signed in to change notification settings - Fork 525
Description
What would you like to be added:
Add support for workflow based on the state of git tree and not just the tag. Since force pushing to Kubernetes master is very rare, there won't be any overwritten commits. So, 'commit to commit' tracking can be possibly done.
This would basically mean changes to this function:
release/cmd/krel/cmd/release_notes.go
Lines 966 to 995 in 7eb5611
// gatherNotesFrom gathers all the release notes from the specified startTag up to --tag. | |
func gatherNotesFrom(repoPath, startTag string) (*notes.ReleaseNotes, error) { | |
logrus.Infof("Gathering release notes from %s to %s", startTag, releaseNotesOpts.tag) | |
notesOptions := options.New() | |
notesOptions.Branch = git.DefaultBranch | |
notesOptions.RepoPath = repoPath | |
notesOptions.StartRev = startTag | |
notesOptions.EndRev = releaseNotesOpts.tag | |
notesOptions.Debug = logrus.StandardLogger().Level >= logrus.DebugLevel | |
notesOptions.MapProviderStrings = releaseNotesOpts.mapProviders | |
notesOptions.ListReleaseNotesV2 = releaseNotesOpts.listReleaseNotesV2 | |
notesOptions.AddMarkdownLinks = true | |
notesOptions.IncludeLabels = releaseNotesOpts.includeLabels | |
if err := notesOptions.ValidateAndFinish(); err != nil { | |
return nil, err | |
} | |
logrus.Infof("Using start tag %v", startTag) | |
logrus.Infof("Using end tag %v", releaseNotesOpts.tag) | |
// Fetch the notes | |
releaseNotes, err := notes.GatherReleaseNotes(notesOptions) | |
if err != nil { | |
return nil, fmt.Errorf("gathering release notes: %w", err) | |
} | |
return releaseNotes, nil | |
} |
Have the existing option to define 'until' using a tag or a commit.
krel
would be required to store the state of the last processed commit
in the session file as a caching mechanism.
Why is this needed:
Currently, the krel release-notes
generation is conditional on a tag for that version being present in the upstream Kubernetes repository.
This causes a delay in the release notes generation as the docs subteam in the Kubernetes release team can't start the generation of release notes until the tag is published, which happens when that version of Kubernetes is published.
Having this feature would allow the docs team to start the release notes generation earlier.