diff --git a/internal/pipe/release/release.go b/internal/pipe/release/release.go index eccf785f5..9b8a3f633 100644 --- a/internal/pipe/release/release.go +++ b/internal/pipe/release/release.go @@ -131,6 +131,9 @@ func doPublish(ctx *context.Context, client client.Client) error { return err } if skipUpload { + if err := client.PublishRelease(ctx, releaseID); err != nil { + return err + } return pipe.Skip("release.skip_upload is set") } diff --git a/internal/pipe/release/release_test.go b/internal/pipe/release/release_test.go index 663bb3828..ed837f68c 100644 --- a/internal/pipe/release/release_test.go +++ b/internal/pipe/release/release_test.go @@ -665,9 +665,15 @@ func TestSkip(t *testing.T) { SkipUpload: "{{ .Env.FOO }}", }, }) + ctx.Artifacts.Add(&artifact.Artifact{ + Name: "a", + Path: "./doc.go", + Type: artifact.UploadableFile, + }) client := &client.Mock{} testlib.AssertSkipped(t, doPublish(ctx, client)) require.True(t, client.CreatedRelease) + require.True(t, client.ReleasePublished) require.False(t, client.UploadedFile) }) @@ -677,15 +683,30 @@ func TestSkip(t *testing.T) { SkipUpload: "true", }, }) + ctx.Artifacts.Add(&artifact.Artifact{ + Name: "a", + Path: "./doc.go", + Type: artifact.UploadableFile, + }) client := &client.Mock{} testlib.AssertSkipped(t, doPublish(ctx, client)) require.True(t, client.CreatedRelease) + require.True(t, client.ReleasePublished) require.False(t, client.UploadedFile) }) t.Run("dont skip", func(t *testing.T) { - b, err := Pipe{}.Skip(testctx.New()) - require.NoError(t, err) - require.False(t, b) + ctx := testctx.New() + ctx.Artifacts.Add(&artifact.Artifact{ + Name: "a", + Path: "./doc.go", + Type: artifact.UploadableFile, + }) + + client := &client.Mock{} + require.NoError(t, doPublish(ctx, client)) + require.True(t, client.CreatedRelease) + require.True(t, client.ReleasePublished) + require.True(t, client.UploadedFile) }) }