You've already forked goreleaser
mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-07-05 00:59:04 +02:00
Support make_latest
for GitHub release (#4161)
This commit adds a `make_latest` boolean to the release configuration, to allow signaling to GitHub if the release should be marked as latest. Albeit being a boolean, the internal Go type is a string to allow to distinguish an empty string (default behavior: `true`) from an explicit `false`. For more information around the GitHub API field, see https://docs.github.com/en/rest/releases/releases?apiVersion=2022-11-28#create-a-release I did not include the `legacy` option, to not adopt something which appears to be scheduled for removal in the future. In addition, I opted for `make_latest` over `latest` because the option is only available for GitHub. Which keeps the latter key reserved for e.g. future use of a config option which is used across Git providers. Fixes #4159 Signed-off-by: Hidde Beydals <hidde@hhh.computer>
This commit is contained in:
@ -349,6 +349,7 @@ func (c *githubClient) CreateRelease(ctx *context.Context, body string) (string,
|
||||
Body: github.String(body),
|
||||
Draft: github.Bool(ctx.Config.Release.Draft),
|
||||
Prerelease: github.Bool(ctx.PreRelease),
|
||||
MakeLatest: github.String("true"),
|
||||
}
|
||||
|
||||
if ctx.Config.Release.DiscussionCategoryName != "" {
|
||||
@ -365,6 +366,10 @@ func (c *githubClient) CreateRelease(ctx *context.Context, body string) (string,
|
||||
}
|
||||
}
|
||||
|
||||
if latest := strings.TrimSpace(ctx.Config.Release.MakeLatest); latest == "false" {
|
||||
data.MakeLatest = github.String(latest)
|
||||
}
|
||||
|
||||
release, err := c.createOrUpdateRelease(ctx, data, body)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("could not release: %w", err)
|
||||
|
Reference in New Issue
Block a user