1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-17 20:47:50 +02:00

fix(cmd): --draft should only override if set

closes #4862

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
This commit is contained in:
Carlos Alexandro Becker 2024-05-14 22:47:51 -03:00
parent d4e83b0766
commit e466507637
No known key found for this signature in database
2 changed files with 28 additions and 1 deletions

View File

@ -194,7 +194,9 @@ func setupReleaseContext(ctx *context.Context, options releaseOpts) error {
ctx.Snapshot = true
}
ctx.Config.Release.Draft = options.draft
if options.draft {
ctx.Config.Release.Draft = true
}
if err := skips.SetRelease(ctx, options.skips...); err != nil {
return err

View File

@ -6,6 +6,7 @@ import (
"github.com/goreleaser/goreleaser/internal/skips"
"github.com/goreleaser/goreleaser/internal/testctx"
"github.com/goreleaser/goreleaser/pkg/config"
"github.com/goreleaser/goreleaser/pkg/context"
"github.com/stretchr/testify/require"
)
@ -62,6 +63,30 @@ func TestReleaseFlags(t *testing.T) {
return ctx
}
t.Run("draft", func(t *testing.T) {
t.Run("not set", func(t *testing.T) {
ctx := setup(t, releaseOpts{})
require.False(t, ctx.Config.Release.Draft)
})
t.Run("set via flag", func(t *testing.T) {
ctx := setup(t, releaseOpts{
draft: true,
})
require.True(t, ctx.Config.Release.Draft)
})
t.Run("set in config", func(t *testing.T) {
ctx := testctx.NewWithCfg(config.Project{
Release: config.Release{
Draft: true,
},
})
require.NoError(t, setupReleaseContext(ctx, releaseOpts{}))
require.True(t, ctx.Config.Release.Draft)
})
})
t.Run("action", func(t *testing.T) {
ctx := setup(t, releaseOpts{})
require.Equal(t, context.ActionRelease, ctx.Action)