mirror of
https://github.com/apricote/releaser-pleaser.git
synced 2026-02-10 19:57:03 +00:00
Compare commits
No commits in common. "44184a77f96c8c3a66a0a6c553f97c9bd17b20f3" and "1f39df03c503efd332c04f6167758375379ef38e" have entirely different histories.
44184a77f9
...
1f39df03c5
3 changed files with 30 additions and 43 deletions
|
|
@ -1,6 +1,7 @@
|
|||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"os"
|
||||
"runtime/debug"
|
||||
|
|
@ -23,6 +24,7 @@ func version() string {
|
|||
|
||||
buildInfo, ok := debug.ReadBuildInfo()
|
||||
if ok {
|
||||
fmt.Println(buildInfo.String())
|
||||
for _, setting := range buildInfo.Settings {
|
||||
switch setting.Key {
|
||||
case "vcs.revision":
|
||||
|
|
|
|||
16
releasepr.go
16
releasepr.go
|
|
@ -59,8 +59,9 @@ func NewReleasePullRequest(head, branch, version, changelogEntry string) (*Relea
|
|||
}
|
||||
|
||||
type ReleaseOverrides struct {
|
||||
Prefix string
|
||||
Suffix string
|
||||
Prefix string
|
||||
Suffix string
|
||||
// TODO: Doing the changelog for normal releases after previews requires to know about this while fetching the commits
|
||||
NextVersionType NextVersionType
|
||||
}
|
||||
|
||||
|
|
@ -91,17 +92,6 @@ func (n NextVersionType) String() string {
|
|||
}
|
||||
}
|
||||
|
||||
func (n NextVersionType) IsPrerelease() bool {
|
||||
switch n {
|
||||
case NextVersionTypeRC, NextVersionTypeBeta, NextVersionTypeAlpha:
|
||||
return true
|
||||
case NextVersionTypeUndefined, NextVersionTypeNormal:
|
||||
return false
|
||||
default:
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
// Label is the string identifier of a pull/merge request label on the forge.
|
||||
type Label string
|
||||
|
||||
|
|
|
|||
|
|
@ -143,27 +143,6 @@ func (rp *ReleaserPleaser) createPendingRelease(ctx context.Context, pr *Release
|
|||
func (rp *ReleaserPleaser) runReconcileReleasePR(ctx context.Context) error {
|
||||
logger := rp.logger.With("method", "runReconcileReleasePR")
|
||||
|
||||
rpBranch := fmt.Sprintf(PullRequestBranchFormat, rp.targetBranch)
|
||||
rpBranchRef := plumbing.NewBranchReferenceName(rpBranch)
|
||||
|
||||
pr, err := rp.forge.PullRequestForBranch(ctx, rpBranch)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var releaseOverrides ReleaseOverrides
|
||||
|
||||
if pr != nil {
|
||||
logger = logger.With("pr.id", pr.ID, "pr.title", pr.Title)
|
||||
logger.InfoContext(ctx, "found existing release pull request")
|
||||
|
||||
releaseOverrides, err = pr.GetOverrides()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
releases, err := rp.forge.LatestTags(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
@ -178,15 +157,7 @@ func (rp *ReleaserPleaser) runReconcileReleasePR(ctx context.Context) error {
|
|||
logger.InfoContext(ctx, "no latest tag found")
|
||||
}
|
||||
|
||||
// By default, we want to show everything that has happened since the last stable release
|
||||
lastReleaseCommit := releases.Stable
|
||||
if releaseOverrides.NextVersionType.IsPrerelease() {
|
||||
// if the new release will be a prerelease,
|
||||
// only show changes since the latest release (stable or prerelease)
|
||||
lastReleaseCommit = releases.Latest
|
||||
}
|
||||
|
||||
releasableCommits, err := rp.forge.CommitsSince(ctx, lastReleaseCommit)
|
||||
releasableCommits, err := rp.forge.CommitsSince(ctx, releases.Stable)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -201,6 +172,22 @@ func (rp *ReleaserPleaser) runReconcileReleasePR(ctx context.Context) error {
|
|||
|
||||
logger.InfoContext(ctx, "Analyzed commits", "length", len(analyzedCommits))
|
||||
|
||||
rpBranch := fmt.Sprintf(PullRequestBranchFormat, rp.targetBranch)
|
||||
rpBranchRef := plumbing.NewBranchReferenceName(rpBranch)
|
||||
// Check Forge for open PR
|
||||
// Get any modifications from open PR
|
||||
// Clone Repo
|
||||
// Run Updaters + Changelog
|
||||
// Upsert PR
|
||||
pr, err := rp.forge.PullRequestForBranch(ctx, rpBranch)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if pr != nil {
|
||||
logger.InfoContext(ctx, "found existing release pull request", "pr.id", pr.ID, "pr.title", pr.Title)
|
||||
}
|
||||
|
||||
if len(analyzedCommits) == 0 {
|
||||
if pr != nil {
|
||||
logger.InfoContext(ctx, "closing existing pull requests, no commits available", "pr.id", pr.ID, "pr.title", pr.Title)
|
||||
|
|
@ -215,6 +202,14 @@ func (rp *ReleaserPleaser) runReconcileReleasePR(ctx context.Context) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
var releaseOverrides ReleaseOverrides
|
||||
if pr != nil {
|
||||
releaseOverrides, err = pr.GetOverrides()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
versionBump := VersionBumpFromCommits(analyzedCommits)
|
||||
// TODO: Set version in release pr
|
||||
nextVersion, err := rp.nextVersion(releases, versionBump, releaseOverrides.NextVersionType)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue