fix: make scoop write .json when --skip-publish (#2380)

* fix: make scoop write .json when --skip-publish

Don't skip the pipeline altogether but write
out the manifest.json file as the homebrew
pipeline does, only skip committing to the repo.

closes #2374

* Update internal/pipe/scoop/scoop_test.go

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
This commit is contained in:
Jonas Lundberg
2021-08-03 02:37:02 +00:00
committed by GitHub
co-authored by Carlos Alexandro Becker
parent 18695c2687
commit 7f0edf6fe0
2 changed files with 27 additions and 7 deletions
-4
View File
@@ -34,10 +34,6 @@ func (Pipe) String() string {
// Publish scoop manifest.
func (Pipe) Publish(ctx *context.Context) error {
if ctx.SkipPublish {
return pipe.ErrSkipPublishEnabled
}
client, err := client.New(ctx)
if err != nil {
return err
+27 -3
View File
@@ -997,8 +997,7 @@ func Test_buildManifest(t *testing.T) {
}
}
func TestRunPipeScoopWithSkip(t *testing.T) {
folder := t.TempDir()
func getScoopPipeSkipCtx(folder string) (*context.Context, string) {
ctx := &context.Context{
Git: context.GitInfo{
CurrentTag: "v1.0.1",
@@ -1022,11 +1021,12 @@ func TestRunPipeScoopWithSkip(t *testing.T) {
Description: "A run pipe test formula",
Homepage: "https://github.com/goreleaser",
Name: "run-pipe",
SkipUpload: "true",
},
},
}
path := filepath.Join(folder, "bin.tar.gz")
ctx.Artifacts.Add(&artifact.Artifact{
Name: "bin.tar.gz",
Path: path,
@@ -1039,6 +1039,14 @@ func TestRunPipeScoopWithSkip(t *testing.T) {
},
})
return ctx, path
}
func TestRunPipeScoopWithSkipUpload(t *testing.T) {
folder := t.TempDir()
ctx, path := getScoopPipeSkipCtx(folder)
ctx.Config.Scoop.SkipUpload = "true"
f, err := os.Create(path)
require.NoError(t, err)
require.NoError(t, f.Close())
@@ -1051,6 +1059,22 @@ func TestRunPipeScoopWithSkip(t *testing.T) {
require.NoError(t, err, "file should exist: "+distFile)
}
func TestRunPipeScoopWithSkipPublish(t *testing.T) {
folder := t.TempDir()
ctx, path := getScoopPipeSkipCtx(folder)
ctx.SkipPublish = true
f, err := os.Create(path)
require.NoError(t, err)
require.NoError(t, f.Close())
cli := &DummyClient{}
require.EqualError(t, doRun(ctx, cli), pipe.ErrSkipPublishEnabled.Error())
distFile := filepath.Join(folder, ctx.Config.Scoop.Name+".json")
require.FileExists(t, distFile)
}
func TestWrapInDirectory(t *testing.T) {
folder := t.TempDir()
file := filepath.Join(folder, "archive")