You've already forked goreleaser
mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-07-17 01:42:37 +02:00
feat!: v2 (#4806)
BREAKING CHANGE removed all deprecated options, config file should now have a `version: 2` bit  --------- Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
3e40af256c
commit
4fa8df6413
@ -27,10 +27,10 @@ func TestBuildSingleTarget(t *testing.T) {
|
|||||||
|
|
||||||
func TestBuildInvalidConfig(t *testing.T) {
|
func TestBuildInvalidConfig(t *testing.T) {
|
||||||
setup(t)
|
setup(t)
|
||||||
createFile(t, "goreleaser.yml", "foo: bar")
|
createFile(t, "goreleaser.yml", "version: 2\nfoo: bar")
|
||||||
cmd := newBuildCmd()
|
cmd := newBuildCmd()
|
||||||
cmd.cmd.SetArgs([]string{"--snapshot", "--timeout=1m", "--parallelism=2", "--deprecated"})
|
cmd.cmd.SetArgs([]string{"--snapshot", "--timeout=1m", "--parallelism=2", "--deprecated"})
|
||||||
require.EqualError(t, cmd.cmd.Execute(), "yaml: unmarshal errors:\n line 1: field foo not found in type config.Project")
|
require.EqualError(t, cmd.cmd.Execute(), "yaml: unmarshal errors:\n line 2: field foo not found in type config.Project")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestBuildBrokenProject(t *testing.T) {
|
func TestBuildBrokenProject(t *testing.T) {
|
||||||
|
@ -37,7 +37,7 @@ func TestCheckConfigThatDoesNotExist(t *testing.T) {
|
|||||||
func TestCheckConfigUnmarshalError(t *testing.T) {
|
func TestCheckConfigUnmarshalError(t *testing.T) {
|
||||||
cmd := newCheckCmd()
|
cmd := newCheckCmd()
|
||||||
cmd.cmd.SetArgs([]string{"-f", "testdata/unmarshal_error.yml"})
|
cmd.cmd.SetArgs([]string{"-f", "testdata/unmarshal_error.yml"})
|
||||||
require.EqualError(t, cmd.cmd.Execute(), "yaml: unmarshal errors:\n line 1: field foo not found in type config.Project")
|
require.EqualError(t, cmd.cmd.Execute(), "yaml: unmarshal errors:\n line 2: field foo not found in type config.Project")
|
||||||
require.Equal(t, 0, cmd.checked)
|
require.Equal(t, 0, cmd.checked)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ func TestReleaseAutoSnapshot(t *testing.T) {
|
|||||||
|
|
||||||
func TestReleaseInvalidConfig(t *testing.T) {
|
func TestReleaseInvalidConfig(t *testing.T) {
|
||||||
setup(t)
|
setup(t)
|
||||||
createFile(t, "goreleaser.yml", "foo: bar")
|
createFile(t, "goreleaser.yml", "foo: bar\nversion: 2")
|
||||||
cmd := newReleaseCmd()
|
cmd := newReleaseCmd()
|
||||||
cmd.cmd.SetArgs([]string{"--snapshot", "--timeout=1m", "--parallelism=2", "--deprecated"})
|
cmd.cmd.SetArgs([]string{"--snapshot", "--timeout=1m", "--parallelism=2", "--deprecated"})
|
||||||
require.EqualError(t, cmd.cmd.Execute(), "yaml: unmarshal errors:\n line 1: field foo not found in type config.Project")
|
require.EqualError(t, cmd.cmd.Execute(), "yaml: unmarshal errors:\n line 1: field foo not found in type config.Project")
|
||||||
|
1
cmd/testdata/unmarshal_error.yml
vendored
1
cmd/testdata/unmarshal_error.yml
vendored
@ -1 +1,2 @@
|
|||||||
|
version: 2
|
||||||
foo: bar
|
foo: bar
|
||||||
|
@ -68,8 +68,8 @@ go 1.22
|
|||||||
|
|
||||||
func createGoReleaserYaml(tb testing.TB) {
|
func createGoReleaserYaml(tb testing.TB) {
|
||||||
tb.Helper()
|
tb.Helper()
|
||||||
yaml := `build:
|
yaml := `builds:
|
||||||
binary: fake
|
- binary: fake
|
||||||
goos:
|
goos:
|
||||||
- linux
|
- linux
|
||||||
goarch:
|
goarch:
|
||||||
|
@ -386,7 +386,7 @@ func TestExtra(t *testing.T) {
|
|||||||
Use: "docker",
|
Use: "docker",
|
||||||
},
|
},
|
||||||
"fail-plz": config.Homebrew{
|
"fail-plz": config.Homebrew{
|
||||||
Plist: "aaaa",
|
Service: "aaaa",
|
||||||
},
|
},
|
||||||
"unsupported": func() {},
|
"unsupported": func() {},
|
||||||
"binaries": []string{"foo", "bar"},
|
"binaries": []string{"foo", "bar"},
|
||||||
|
@ -15,7 +15,6 @@ import (
|
|||||||
"github.com/caarlos0/log"
|
"github.com/caarlos0/log"
|
||||||
"github.com/goreleaser/goreleaser/internal/archivefiles"
|
"github.com/goreleaser/goreleaser/internal/archivefiles"
|
||||||
"github.com/goreleaser/goreleaser/internal/artifact"
|
"github.com/goreleaser/goreleaser/internal/artifact"
|
||||||
"github.com/goreleaser/goreleaser/internal/deprecate"
|
|
||||||
"github.com/goreleaser/goreleaser/internal/ids"
|
"github.com/goreleaser/goreleaser/internal/ids"
|
||||||
"github.com/goreleaser/goreleaser/internal/semerrgroup"
|
"github.com/goreleaser/goreleaser/internal/semerrgroup"
|
||||||
"github.com/goreleaser/goreleaser/internal/tmpl"
|
"github.com/goreleaser/goreleaser/internal/tmpl"
|
||||||
@ -59,13 +58,6 @@ func (Pipe) Default(ctx *context.Context) error {
|
|||||||
if archive.ID == "" {
|
if archive.ID == "" {
|
||||||
archive.ID = "default"
|
archive.ID = "default"
|
||||||
}
|
}
|
||||||
if archive.StripParentBinaryFolder {
|
|
||||||
archive.StripBinaryDirectory = true
|
|
||||||
deprecate.Notice(ctx, "archives.strip_parent_binary_folder")
|
|
||||||
}
|
|
||||||
if archive.RLCP != "" && archive.Format != "binary" && len(archive.Files) > 0 {
|
|
||||||
deprecate.Notice(ctx, "archives.rlcp")
|
|
||||||
}
|
|
||||||
if len(archive.Files) == 0 {
|
if len(archive.Files) == 0 {
|
||||||
archive.Files = []config.File{
|
archive.Files = []config.File{
|
||||||
{Source: "license*", Default: true},
|
{Source: "license*", Default: true},
|
||||||
|
@ -4,7 +4,6 @@ package blob
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/goreleaser/goreleaser/internal/deprecate"
|
|
||||||
"github.com/goreleaser/goreleaser/internal/pipe"
|
"github.com/goreleaser/goreleaser/internal/pipe"
|
||||||
"github.com/goreleaser/goreleaser/internal/semerrgroup"
|
"github.com/goreleaser/goreleaser/internal/semerrgroup"
|
||||||
"github.com/goreleaser/goreleaser/internal/tmpl"
|
"github.com/goreleaser/goreleaser/internal/tmpl"
|
||||||
@ -22,14 +21,9 @@ func (Pipe) Skip(ctx *context.Context) bool { return len(ctx.Config.Blobs) == 0
|
|||||||
func (Pipe) Default(ctx *context.Context) error {
|
func (Pipe) Default(ctx *context.Context) error {
|
||||||
for i := range ctx.Config.Blobs {
|
for i := range ctx.Config.Blobs {
|
||||||
blob := &ctx.Config.Blobs[i]
|
blob := &ctx.Config.Blobs[i]
|
||||||
|
|
||||||
if blob.Bucket == "" || blob.Provider == "" {
|
if blob.Bucket == "" || blob.Provider == "" {
|
||||||
return fmt.Errorf("bucket or provider cannot be empty")
|
return fmt.Errorf("bucket or provider cannot be empty")
|
||||||
}
|
}
|
||||||
if blob.Folder != "" {
|
|
||||||
deprecate.Notice(ctx, "blobs.folder")
|
|
||||||
blob.Directory = blob.Folder
|
|
||||||
}
|
|
||||||
if blob.Directory == "" {
|
if blob.Directory == "" {
|
||||||
blob.Directory = "{{ .ProjectName }}/{{ .Tag }}"
|
blob.Directory = "{{ .ProjectName }}/{{ .Tag }}"
|
||||||
}
|
}
|
||||||
@ -39,15 +33,6 @@ func (Pipe) Default(ctx *context.Context) error {
|
|||||||
} else if blob.ContentDisposition == "-" {
|
} else if blob.ContentDisposition == "-" {
|
||||||
blob.ContentDisposition = ""
|
blob.ContentDisposition = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
if blob.OldDisableSSL {
|
|
||||||
deprecate.Notice(ctx, "blobs.disableSSL")
|
|
||||||
blob.DisableSSL = true
|
|
||||||
}
|
|
||||||
if blob.OldKMSKey != "" {
|
|
||||||
deprecate.Notice(ctx, "blobs.kmskey")
|
|
||||||
blob.KMSKey = blob.OldKMSKey
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -72,14 +72,14 @@ func TestMain(m *testing.M) {
|
|||||||
|
|
||||||
func TestMinioUpload(t *testing.T) {
|
func TestMinioUpload(t *testing.T) {
|
||||||
name := "basic"
|
name := "basic"
|
||||||
folder := t.TempDir()
|
directory := t.TempDir()
|
||||||
srcpath := filepath.Join(folder, "source.tar.gz")
|
srcpath := filepath.Join(directory, "source.tar.gz")
|
||||||
tgzpath := filepath.Join(folder, "bin.tar.gz")
|
tgzpath := filepath.Join(directory, "bin.tar.gz")
|
||||||
debpath := filepath.Join(folder, "bin.deb")
|
debpath := filepath.Join(directory, "bin.deb")
|
||||||
checkpath := filepath.Join(folder, "check.txt")
|
checkpath := filepath.Join(directory, "check.txt")
|
||||||
metapath := filepath.Join(folder, "metadata.json")
|
metapath := filepath.Join(directory, "metadata.json")
|
||||||
sigpath := filepath.Join(folder, "f.sig")
|
sigpath := filepath.Join(directory, "f.sig")
|
||||||
certpath := filepath.Join(folder, "f.pem")
|
certpath := filepath.Join(directory, "f.pem")
|
||||||
require.NoError(t, os.WriteFile(checkpath, []byte("fake checksums"), 0o744))
|
require.NoError(t, os.WriteFile(checkpath, []byte("fake checksums"), 0o744))
|
||||||
require.NoError(t, os.WriteFile(metapath, []byte(`{"fake":true}`), 0o744))
|
require.NoError(t, os.WriteFile(metapath, []byte(`{"fake":true}`), 0o744))
|
||||||
require.NoError(t, os.WriteFile(srcpath, []byte("fake\nsrc"), 0o744))
|
require.NoError(t, os.WriteFile(srcpath, []byte("fake\nsrc"), 0o744))
|
||||||
@ -88,7 +88,7 @@ func TestMinioUpload(t *testing.T) {
|
|||||||
require.NoError(t, os.WriteFile(sigpath, []byte("fake\nsig"), 0o744))
|
require.NoError(t, os.WriteFile(sigpath, []byte("fake\nsig"), 0o744))
|
||||||
require.NoError(t, os.WriteFile(certpath, []byte("fake\ncert"), 0o744))
|
require.NoError(t, os.WriteFile(certpath, []byte("fake\ncert"), 0o744))
|
||||||
ctx := testctx.NewWithCfg(config.Project{
|
ctx := testctx.NewWithCfg(config.Project{
|
||||||
Dist: folder,
|
Dist: directory,
|
||||||
ProjectName: "testupload",
|
ProjectName: "testupload",
|
||||||
Blobs: []config.Blob{
|
Blobs: []config.Blob{
|
||||||
{
|
{
|
||||||
@ -177,15 +177,15 @@ func TestMinioUpload(t *testing.T) {
|
|||||||
|
|
||||||
func TestMinioUploadCustomBucketID(t *testing.T) {
|
func TestMinioUploadCustomBucketID(t *testing.T) {
|
||||||
name := "fromenv"
|
name := "fromenv"
|
||||||
folder := t.TempDir()
|
directory := t.TempDir()
|
||||||
tgzpath := filepath.Join(folder, "bin.tar.gz")
|
tgzpath := filepath.Join(directory, "bin.tar.gz")
|
||||||
debpath := filepath.Join(folder, "bin.deb")
|
debpath := filepath.Join(directory, "bin.deb")
|
||||||
require.NoError(t, os.WriteFile(tgzpath, []byte("fake\ntargz"), 0o744))
|
require.NoError(t, os.WriteFile(tgzpath, []byte("fake\ntargz"), 0o744))
|
||||||
require.NoError(t, os.WriteFile(debpath, []byte("fake\ndeb"), 0o744))
|
require.NoError(t, os.WriteFile(debpath, []byte("fake\ndeb"), 0o744))
|
||||||
// Set custom BUCKET_ID env variable.
|
// Set custom BUCKET_ID env variable.
|
||||||
t.Setenv("BUCKET_ID", name)
|
t.Setenv("BUCKET_ID", name)
|
||||||
ctx := testctx.NewWithCfg(config.Project{
|
ctx := testctx.NewWithCfg(config.Project{
|
||||||
Dist: folder,
|
Dist: directory,
|
||||||
ProjectName: "testupload",
|
ProjectName: "testupload",
|
||||||
Blobs: []config.Blob{
|
Blobs: []config.Blob{
|
||||||
{
|
{
|
||||||
@ -211,21 +211,21 @@ func TestMinioUploadCustomBucketID(t *testing.T) {
|
|||||||
require.NoError(t, Pipe{}.Publish(ctx))
|
require.NoError(t, Pipe{}.Publish(ctx))
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMinioUploadRootFolder(t *testing.T) {
|
func TestMinioUploadRootDirectory(t *testing.T) {
|
||||||
name := "rootdir"
|
name := "rootdir"
|
||||||
folder := t.TempDir()
|
directory := t.TempDir()
|
||||||
tgzpath := filepath.Join(folder, "bin.tar.gz")
|
tgzpath := filepath.Join(directory, "bin.tar.gz")
|
||||||
debpath := filepath.Join(folder, "bin.deb")
|
debpath := filepath.Join(directory, "bin.deb")
|
||||||
require.NoError(t, os.WriteFile(tgzpath, []byte("fake\ntargz"), 0o744))
|
require.NoError(t, os.WriteFile(tgzpath, []byte("fake\ntargz"), 0o744))
|
||||||
require.NoError(t, os.WriteFile(debpath, []byte("fake\ndeb"), 0o744))
|
require.NoError(t, os.WriteFile(debpath, []byte("fake\ndeb"), 0o744))
|
||||||
ctx := testctx.NewWithCfg(config.Project{
|
ctx := testctx.NewWithCfg(config.Project{
|
||||||
Dist: folder,
|
Dist: directory,
|
||||||
ProjectName: "testupload",
|
ProjectName: "testupload",
|
||||||
Blobs: []config.Blob{
|
Blobs: []config.Blob{
|
||||||
{
|
{
|
||||||
Provider: "s3",
|
Provider: "s3",
|
||||||
Bucket: name,
|
Bucket: name,
|
||||||
Folder: "/",
|
Directory: "/",
|
||||||
Endpoint: "http://" + listen,
|
Endpoint: "http://" + listen,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -247,13 +247,13 @@ func TestMinioUploadRootFolder(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestMinioUploadInvalidCustomBucketID(t *testing.T) {
|
func TestMinioUploadInvalidCustomBucketID(t *testing.T) {
|
||||||
folder := t.TempDir()
|
directory := t.TempDir()
|
||||||
tgzpath := filepath.Join(folder, "bin.tar.gz")
|
tgzpath := filepath.Join(directory, "bin.tar.gz")
|
||||||
debpath := filepath.Join(folder, "bin.deb")
|
debpath := filepath.Join(directory, "bin.deb")
|
||||||
require.NoError(t, os.WriteFile(tgzpath, []byte("fake\ntargz"), 0o744))
|
require.NoError(t, os.WriteFile(tgzpath, []byte("fake\ntargz"), 0o744))
|
||||||
require.NoError(t, os.WriteFile(debpath, []byte("fake\ndeb"), 0o744))
|
require.NoError(t, os.WriteFile(debpath, []byte("fake\ndeb"), 0o744))
|
||||||
ctx := testctx.NewWithCfg(config.Project{
|
ctx := testctx.NewWithCfg(config.Project{
|
||||||
Dist: folder,
|
Dist: directory,
|
||||||
ProjectName: "testupload",
|
ProjectName: "testupload",
|
||||||
Blobs: []config.Blob{
|
Blobs: []config.Blob{
|
||||||
{
|
{
|
||||||
@ -280,16 +280,16 @@ func TestMinioUploadInvalidCustomBucketID(t *testing.T) {
|
|||||||
|
|
||||||
func TestMinioUploadSkip(t *testing.T) {
|
func TestMinioUploadSkip(t *testing.T) {
|
||||||
name := "basic"
|
name := "basic"
|
||||||
folder := t.TempDir()
|
directory := t.TempDir()
|
||||||
debpath := filepath.Join(folder, "bin.deb")
|
debpath := filepath.Join(directory, "bin.deb")
|
||||||
tgzpath := filepath.Join(folder, "bin.tar.gz")
|
tgzpath := filepath.Join(directory, "bin.tar.gz")
|
||||||
require.NoError(t, os.WriteFile(tgzpath, []byte("fake\ntargz"), 0o744))
|
require.NoError(t, os.WriteFile(tgzpath, []byte("fake\ntargz"), 0o744))
|
||||||
require.NoError(t, os.WriteFile(debpath, []byte("fake\ndeb"), 0o744))
|
require.NoError(t, os.WriteFile(debpath, []byte("fake\ndeb"), 0o744))
|
||||||
|
|
||||||
buildCtx := func(uploadID string) *context.Context {
|
buildCtx := func(uploadID string) *context.Context {
|
||||||
ctx := testctx.NewWithCfg(
|
ctx := testctx.NewWithCfg(
|
||||||
config.Project{
|
config.Project{
|
||||||
Dist: folder,
|
Dist: directory,
|
||||||
ProjectName: "testupload",
|
ProjectName: "testupload",
|
||||||
Blobs: []config.Blob{
|
Blobs: []config.Blob{
|
||||||
{
|
{
|
||||||
|
@ -83,13 +83,6 @@ func TestDefaults(t *testing.T) {
|
|||||||
Provider: "gcs",
|
Provider: "gcs",
|
||||||
ContentDisposition: "-",
|
ContentDisposition: "-",
|
||||||
},
|
},
|
||||||
{
|
|
||||||
Bucket: "deprecated",
|
|
||||||
Provider: "s3",
|
|
||||||
Folder: "static",
|
|
||||||
OldDisableSSL: true,
|
|
||||||
OldKMSKey: "fake",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
require.NoError(t, Pipe{}.Default(ctx))
|
require.NoError(t, Pipe{}.Default(ctx))
|
||||||
@ -113,17 +106,6 @@ func TestDefaults(t *testing.T) {
|
|||||||
Directory: "{{ .ProjectName }}/{{ .Tag }}",
|
Directory: "{{ .ProjectName }}/{{ .Tag }}",
|
||||||
ContentDisposition: "",
|
ContentDisposition: "",
|
||||||
},
|
},
|
||||||
{
|
|
||||||
Bucket: "deprecated",
|
|
||||||
Provider: "s3",
|
|
||||||
Folder: "static",
|
|
||||||
Directory: "static",
|
|
||||||
OldDisableSSL: true,
|
|
||||||
DisableSSL: true,
|
|
||||||
OldKMSKey: "fake",
|
|
||||||
KMSKey: "fake",
|
|
||||||
ContentDisposition: "attachment;filename={{.Filename}}",
|
|
||||||
},
|
|
||||||
}, ctx.Config.Blobs)
|
}, ctx.Config.Blobs)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -153,7 +135,7 @@ func TestURL(t *testing.T) {
|
|||||||
Bucket: "foo",
|
Bucket: "foo",
|
||||||
Provider: "s3",
|
Provider: "s3",
|
||||||
Region: "us-west-1",
|
Region: "us-west-1",
|
||||||
Folder: "foo",
|
Directory: "foo",
|
||||||
Endpoint: "s3.foobar.com",
|
Endpoint: "s3.foobar.com",
|
||||||
DisableSSL: true,
|
DisableSSL: true,
|
||||||
})
|
})
|
||||||
@ -177,7 +159,7 @@ func TestURL(t *testing.T) {
|
|||||||
Bucket: "foo",
|
Bucket: "foo",
|
||||||
Provider: "gs",
|
Provider: "gs",
|
||||||
Region: "us-west-1",
|
Region: "us-west-1",
|
||||||
Folder: "foo",
|
Directory: "foo",
|
||||||
Endpoint: "s3.foobar.com",
|
Endpoint: "s3.foobar.com",
|
||||||
DisableSSL: true,
|
DisableSSL: true,
|
||||||
})
|
})
|
||||||
|
@ -8,7 +8,6 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"reflect"
|
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
"text/template"
|
"text/template"
|
||||||
@ -17,7 +16,6 @@ import (
|
|||||||
"github.com/goreleaser/goreleaser/internal/artifact"
|
"github.com/goreleaser/goreleaser/internal/artifact"
|
||||||
"github.com/goreleaser/goreleaser/internal/client"
|
"github.com/goreleaser/goreleaser/internal/client"
|
||||||
"github.com/goreleaser/goreleaser/internal/commitauthor"
|
"github.com/goreleaser/goreleaser/internal/commitauthor"
|
||||||
"github.com/goreleaser/goreleaser/internal/deprecate"
|
|
||||||
"github.com/goreleaser/goreleaser/internal/pipe"
|
"github.com/goreleaser/goreleaser/internal/pipe"
|
||||||
"github.com/goreleaser/goreleaser/internal/skips"
|
"github.com/goreleaser/goreleaser/internal/skips"
|
||||||
"github.com/goreleaser/goreleaser/internal/tmpl"
|
"github.com/goreleaser/goreleaser/internal/tmpl"
|
||||||
@ -71,17 +69,6 @@ func (Pipe) Default(ctx *context.Context) error {
|
|||||||
if brew.Goamd64 == "" {
|
if brew.Goamd64 == "" {
|
||||||
brew.Goamd64 = "v1"
|
brew.Goamd64 = "v1"
|
||||||
}
|
}
|
||||||
if brew.Plist != "" {
|
|
||||||
deprecate.Notice(ctx, "brews.plist")
|
|
||||||
}
|
|
||||||
if brew.Folder != "" {
|
|
||||||
deprecate.Notice(ctx, "brews.folder")
|
|
||||||
brew.Directory = brew.Folder
|
|
||||||
}
|
|
||||||
if !reflect.DeepEqual(brew.Tap, config.RepoRef{}) {
|
|
||||||
brew.Repository = brew.Tap
|
|
||||||
deprecate.Notice(ctx, "brews.tap")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@ -419,7 +406,6 @@ func dataFor(ctx *context.Context, cfg config.Homebrew, cl client.ReleaseURLTemp
|
|||||||
Caveats: split(cfg.Caveats),
|
Caveats: split(cfg.Caveats),
|
||||||
Dependencies: cfg.Dependencies,
|
Dependencies: cfg.Dependencies,
|
||||||
Conflicts: cfg.Conflicts,
|
Conflicts: cfg.Conflicts,
|
||||||
Plist: cfg.Plist,
|
|
||||||
Service: split(cfg.Service),
|
Service: split(cfg.Service),
|
||||||
PostInstall: split(cfg.PostInstall),
|
PostInstall: split(cfg.PostInstall),
|
||||||
Tests: split(cfg.Test),
|
Tests: split(cfg.Test),
|
||||||
|
@ -109,7 +109,6 @@ func TestFullFormulae(t *testing.T) {
|
|||||||
data.Caveats = []string{"Here are some caveats"}
|
data.Caveats = []string{"Here are some caveats"}
|
||||||
data.Dependencies = []config.HomebrewDependency{{Name: "gtk+"}}
|
data.Dependencies = []config.HomebrewDependency{{Name: "gtk+"}}
|
||||||
data.Conflicts = []string{"svn"}
|
data.Conflicts = []string{"svn"}
|
||||||
data.Plist = "it works"
|
|
||||||
data.PostInstall = []string{`touch "/tmp/foo"`, `system "echo", "done"`}
|
data.PostInstall = []string{`touch "/tmp/foo"`, `system "echo", "done"`}
|
||||||
data.CustomBlock = []string{"devel do", ` url "https://github.com/caarlos0/test/releases/download/v0.1.3/test_Darwin_x86_64.tar.gz"`, ` sha256 "1633f61598ab0791e213135923624eb342196b3494909c91899bcd0560f84c68"`, "end"}
|
data.CustomBlock = []string{"devel do", ` url "https://github.com/caarlos0/test/releases/download/v0.1.3/test_Darwin_x86_64.tar.gz"`, ` sha256 "1633f61598ab0791e213135923624eb342196b3494909c91899bcd0560f84c68"`, "end"}
|
||||||
data.Tests = []string{`system "#{bin}/{{.ProjectName}}", "-version"`}
|
data.Tests = []string{`system "#{bin}/{{.ProjectName}}", "-version"`}
|
||||||
@ -148,7 +147,6 @@ func TestFormulaeSimple(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assertDefaultTemplateData(t, formulae)
|
assertDefaultTemplateData(t, formulae)
|
||||||
require.NotContains(t, formulae, "def caveats")
|
require.NotContains(t, formulae, "def caveats")
|
||||||
require.NotContains(t, formulae, "def plist;")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSplit(t *testing.T) {
|
func TestSplit(t *testing.T) {
|
||||||
@ -331,7 +329,6 @@ func TestFullPipe(t *testing.T) {
|
|||||||
Description: "Run pipe test formula and FOO={{ .Env.FOO }}",
|
Description: "Run pipe test formula and FOO={{ .Env.FOO }}",
|
||||||
Caveats: "don't do this {{ .ProjectName }}",
|
Caveats: "don't do this {{ .ProjectName }}",
|
||||||
Test: "system \"true\"\nsystem \"#{bin}/foo\", \"-h\"",
|
Test: "system \"true\"\nsystem \"#{bin}/foo\", \"-h\"",
|
||||||
Plist: `<xml>whatever</xml>`,
|
|
||||||
Dependencies: []config.HomebrewDependency{
|
Dependencies: []config.HomebrewDependency{
|
||||||
{Name: "zsh", Type: "optional"},
|
{Name: "zsh", Type: "optional"},
|
||||||
{Name: "bash", Version: "3.2.57"},
|
{Name: "bash", Version: "3.2.57"},
|
||||||
@ -748,8 +745,10 @@ func TestRunPipeForMultipleArmVersions(t *testing.T) {
|
|||||||
Description: "Run pipe test formula and FOO={{ .Env.FOO }}",
|
Description: "Run pipe test formula and FOO={{ .Env.FOO }}",
|
||||||
Caveats: "don't do this {{ .ProjectName }}",
|
Caveats: "don't do this {{ .ProjectName }}",
|
||||||
Test: "system \"true\"\nsystem \"#{bin}/foo\", \"-h\"",
|
Test: "system \"true\"\nsystem \"#{bin}/foo\", \"-h\"",
|
||||||
Plist: `<xml>whatever</xml>`,
|
Dependencies: []config.HomebrewDependency{
|
||||||
Dependencies: []config.HomebrewDependency{{Name: "zsh"}, {Name: "bash", Type: "recommended"}},
|
{Name: "zsh"},
|
||||||
|
{Name: "bash", Type: "recommended"},
|
||||||
|
},
|
||||||
Conflicts: []string{"gtk+", "qt"},
|
Conflicts: []string{"gtk+", "qt"},
|
||||||
Install: `bin.install "{{ .ProjectName }}"`,
|
Install: `bin.install "{{ .ProjectName }}"`,
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
@ -1231,8 +1230,7 @@ func TestDefault(t *testing.T) {
|
|||||||
ProjectName: "myproject",
|
ProjectName: "myproject",
|
||||||
Brews: []config.Homebrew{
|
Brews: []config.Homebrew{
|
||||||
{
|
{
|
||||||
Plist: "<xml>... whatever</xml>",
|
Repository: repo,
|
||||||
Tap: repo,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}, testctx.GitHubTokenType)
|
}, testctx.GitHubTokenType)
|
||||||
@ -1242,7 +1240,6 @@ func TestDefault(t *testing.T) {
|
|||||||
require.NotEmpty(t, ctx.Config.Brews[0].CommitAuthor.Email)
|
require.NotEmpty(t, ctx.Config.Brews[0].CommitAuthor.Email)
|
||||||
require.NotEmpty(t, ctx.Config.Brews[0].CommitMessageTemplate)
|
require.NotEmpty(t, ctx.Config.Brews[0].CommitMessageTemplate)
|
||||||
require.Equal(t, repo, ctx.Config.Brews[0].Repository)
|
require.Equal(t, repo, ctx.Config.Brews[0].Repository)
|
||||||
require.True(t, ctx.Deprecated)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGHFolder(t *testing.T) {
|
func TestGHFolder(t *testing.T) {
|
||||||
|
@ -13,7 +13,6 @@ type templateData struct {
|
|||||||
Version string
|
Version string
|
||||||
License string
|
License string
|
||||||
Caveats []string
|
Caveats []string
|
||||||
Plist string
|
|
||||||
PostInstall []string
|
PostInstall []string
|
||||||
Dependencies []config.HomebrewDependency
|
Dependencies []config.HomebrewDependency
|
||||||
Conflicts []string
|
Conflicts []string
|
||||||
|
@ -78,17 +78,6 @@ class {{ .Name }} < Formula
|
|||||||
end
|
end
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{- with .Plist }}
|
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
{{ . }}
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- with .Service }}
|
{{- with .Service }}
|
||||||
|
|
||||||
service do
|
service do
|
||||||
|
@ -80,14 +80,6 @@ class Test < Formula
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
it works
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
|
|
||||||
test do
|
test do
|
||||||
system "#{bin}/foo", "-version"
|
system "#{bin}/foo", "-version"
|
||||||
end
|
end
|
||||||
|
@ -61,14 +61,6 @@ class CustomBlock < Formula
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
<xml>whatever</xml>
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
|
|
||||||
service do
|
service do
|
||||||
run foo/bar
|
run foo/bar
|
||||||
keep_alive true
|
keep_alive true
|
||||||
|
@ -59,14 +59,6 @@ class CustomDownloadStrategy < Formula
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
<xml>whatever</xml>
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
|
|
||||||
service do
|
service do
|
||||||
run foo/bar
|
run foo/bar
|
||||||
keep_alive true
|
keep_alive true
|
||||||
|
@ -60,14 +60,6 @@ class CustomRequire < Formula
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
<xml>whatever</xml>
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
|
|
||||||
service do
|
service do
|
||||||
run foo/bar
|
run foo/bar
|
||||||
keep_alive true
|
keep_alive true
|
||||||
|
@ -59,14 +59,6 @@ class Default < Formula
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
<xml>whatever</xml>
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
|
|
||||||
service do
|
service do
|
||||||
run foo/bar
|
run foo/bar
|
||||||
keep_alive true
|
keep_alive true
|
||||||
|
@ -59,14 +59,6 @@ class DefaultGitlab < Formula
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
<xml>whatever</xml>
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
|
|
||||||
service do
|
service do
|
||||||
run foo/bar
|
run foo/bar
|
||||||
keep_alive true
|
keep_alive true
|
||||||
|
@ -59,14 +59,6 @@ class GitRemote < Formula
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
<xml>whatever</xml>
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
|
|
||||||
service do
|
service do
|
||||||
run foo/bar
|
run foo/bar
|
||||||
keep_alive true
|
keep_alive true
|
||||||
|
@ -59,14 +59,6 @@ class OpenPr < Formula
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
<xml>whatever</xml>
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
|
|
||||||
service do
|
service do
|
||||||
run foo/bar
|
run foo/bar
|
||||||
keep_alive true
|
keep_alive true
|
||||||
|
@ -59,14 +59,6 @@ class ValidRepositoryTemplates < Formula
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
<xml>whatever</xml>
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
|
|
||||||
service do
|
service do
|
||||||
run foo/bar
|
run foo/bar
|
||||||
keep_alive true
|
keep_alive true
|
||||||
|
@ -68,14 +68,6 @@ class WithHeader < Formula
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
<xml>whatever</xml>
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
|
|
||||||
service do
|
service do
|
||||||
run foo/bar
|
run foo/bar
|
||||||
keep_alive true
|
keep_alive true
|
||||||
|
@ -71,14 +71,6 @@ class WithManyHeaders < Formula
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
<xml>whatever</xml>
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
|
|
||||||
service do
|
service do
|
||||||
run foo/bar
|
run foo/bar
|
||||||
keep_alive true
|
keep_alive true
|
||||||
|
@ -61,14 +61,6 @@ class MultipleArmv5 < Formula
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
<xml>whatever</xml>
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
|
|
||||||
test do
|
test do
|
||||||
system "true"
|
system "true"
|
||||||
system "#{bin}/foo", "-h"
|
system "#{bin}/foo", "-h"
|
||||||
|
@ -61,14 +61,6 @@ class MultipleArmv6 < Formula
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
<xml>whatever</xml>
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
|
|
||||||
test do
|
test do
|
||||||
system "true"
|
system "true"
|
||||||
system "#{bin}/foo", "-h"
|
system "#{bin}/foo", "-h"
|
||||||
|
@ -61,14 +61,6 @@ class MultipleArmv7 < Formula
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
plist_options startup: false
|
|
||||||
|
|
||||||
def plist
|
|
||||||
<<~EOS
|
|
||||||
<xml>whatever</xml>
|
|
||||||
EOS
|
|
||||||
end
|
|
||||||
|
|
||||||
test do
|
test do
|
||||||
system "true"
|
system "true"
|
||||||
system "#{bin}/foo", "-h"
|
system "#{bin}/foo", "-h"
|
||||||
|
@ -6,12 +6,10 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"reflect"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/caarlos0/go-shellwords"
|
"github.com/caarlos0/go-shellwords"
|
||||||
"github.com/caarlos0/log"
|
"github.com/caarlos0/log"
|
||||||
"github.com/goreleaser/goreleaser/internal/deprecate"
|
|
||||||
"github.com/goreleaser/goreleaser/internal/ids"
|
"github.com/goreleaser/goreleaser/internal/ids"
|
||||||
"github.com/goreleaser/goreleaser/internal/semerrgroup"
|
"github.com/goreleaser/goreleaser/internal/semerrgroup"
|
||||||
"github.com/goreleaser/goreleaser/internal/shell"
|
"github.com/goreleaser/goreleaser/internal/shell"
|
||||||
@ -48,10 +46,6 @@ func (Pipe) Run(ctx *context.Context) error {
|
|||||||
|
|
||||||
// Default sets the pipe defaults.
|
// Default sets the pipe defaults.
|
||||||
func (Pipe) Default(ctx *context.Context) error {
|
func (Pipe) Default(ctx *context.Context) error {
|
||||||
if !reflect.DeepEqual(ctx.Config.SingleBuild, config.Build{}) {
|
|
||||||
deprecate.Notice(ctx, "build")
|
|
||||||
}
|
|
||||||
|
|
||||||
ids := ids.New("builds")
|
ids := ids.New("builds")
|
||||||
for i, build := range ctx.Config.Builds {
|
for i, build := range ctx.Config.Builds {
|
||||||
build, err := buildWithDefaults(ctx, build)
|
build, err := buildWithDefaults(ctx, build)
|
||||||
@ -62,7 +56,7 @@ func (Pipe) Default(ctx *context.Context) error {
|
|||||||
ids.Inc(ctx.Config.Builds[i].ID)
|
ids.Inc(ctx.Config.Builds[i].ID)
|
||||||
}
|
}
|
||||||
if len(ctx.Config.Builds) == 0 {
|
if len(ctx.Config.Builds) == 0 {
|
||||||
build, err := buildWithDefaults(ctx, ctx.Config.SingleBuild)
|
build, err := buildWithDefaults(ctx, config.Build{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -399,33 +399,6 @@ func TestDefaultPartialBuilds(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDefaultFillSingleBuild(t *testing.T) {
|
|
||||||
testlib.Mktmp(t)
|
|
||||||
|
|
||||||
ctx := testctx.NewWithCfg(config.Project{
|
|
||||||
ProjectName: "foo",
|
|
||||||
SingleBuild: config.Build{
|
|
||||||
Main: "testreleaser",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
require.NoError(t, Pipe{}.Default(ctx))
|
|
||||||
require.Len(t, ctx.Config.Builds, 1)
|
|
||||||
require.Equal(t, "foo", ctx.Config.Builds[0].Binary)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestDefaultFailSingleBuild(t *testing.T) {
|
|
||||||
folder := testlib.Mktmp(t)
|
|
||||||
config := config.Project{
|
|
||||||
Dist: folder,
|
|
||||||
SingleBuild: config.Build{
|
|
||||||
Builder: "fakeFailDefault",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
ctx := testctx.NewWithCfg(config)
|
|
||||||
require.EqualError(t, Pipe{}.Default(ctx), errFailedDefault.Error())
|
|
||||||
require.Empty(t, ctx.Artifacts.List())
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestSkipBuild(t *testing.T) {
|
func TestSkipBuild(t *testing.T) {
|
||||||
folder := testlib.Mktmp(t)
|
folder := testlib.Mktmp(t)
|
||||||
config := config.Project{
|
config := config.Project{
|
||||||
|
@ -12,7 +12,6 @@ import (
|
|||||||
|
|
||||||
"github.com/caarlos0/log"
|
"github.com/caarlos0/log"
|
||||||
"github.com/goreleaser/goreleaser/internal/client"
|
"github.com/goreleaser/goreleaser/internal/client"
|
||||||
"github.com/goreleaser/goreleaser/internal/deprecate"
|
|
||||||
"github.com/goreleaser/goreleaser/internal/git"
|
"github.com/goreleaser/goreleaser/internal/git"
|
||||||
"github.com/goreleaser/goreleaser/internal/tmpl"
|
"github.com/goreleaser/goreleaser/internal/tmpl"
|
||||||
"github.com/goreleaser/goreleaser/pkg/context"
|
"github.com/goreleaser/goreleaser/pkg/context"
|
||||||
@ -46,10 +45,6 @@ func (Pipe) Skip(ctx *context.Context) (bool, error) {
|
|||||||
if ctx.Snapshot {
|
if ctx.Snapshot {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
if ctx.Config.Changelog.Skip != "" {
|
|
||||||
deprecate.Notice(ctx, "changelog.skip")
|
|
||||||
ctx.Config.Changelog.Disable = ctx.Config.Changelog.Skip
|
|
||||||
}
|
|
||||||
|
|
||||||
return tmpl.New(ctx).Bool(ctx.Config.Changelog.Disable)
|
return tmpl.New(ctx).Bool(ctx.Config.Changelog.Disable)
|
||||||
}
|
}
|
||||||
|
@ -719,13 +719,12 @@ func TestSkip(t *testing.T) {
|
|||||||
t.Run("skip/disable", func(t *testing.T) {
|
t.Run("skip/disable", func(t *testing.T) {
|
||||||
ctx := testctx.NewWithCfg(config.Project{
|
ctx := testctx.NewWithCfg(config.Project{
|
||||||
Changelog: config.Changelog{
|
Changelog: config.Changelog{
|
||||||
Skip: "{{gt .Patch 0}}",
|
Disable: "{{gt .Patch 0}}",
|
||||||
},
|
},
|
||||||
}, testctx.WithSemver(0, 0, 1, ""))
|
}, testctx.WithSemver(0, 0, 1, ""))
|
||||||
b, err := Pipe{}.Skip(ctx)
|
b, err := Pipe{}.Skip(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.True(t, b)
|
require.True(t, b)
|
||||||
require.Equal(t, ctx.Config.Changelog.Skip, ctx.Config.Changelog.Disable)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("disable on patches", func(t *testing.T) {
|
t.Run("disable on patches", func(t *testing.T) {
|
||||||
|
@ -10,7 +10,6 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"reflect"
|
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@ -18,7 +17,6 @@ import (
|
|||||||
"github.com/goreleaser/goreleaser/internal/artifact"
|
"github.com/goreleaser/goreleaser/internal/artifact"
|
||||||
"github.com/goreleaser/goreleaser/internal/client"
|
"github.com/goreleaser/goreleaser/internal/client"
|
||||||
"github.com/goreleaser/goreleaser/internal/commitauthor"
|
"github.com/goreleaser/goreleaser/internal/commitauthor"
|
||||||
"github.com/goreleaser/goreleaser/internal/deprecate"
|
|
||||||
"github.com/goreleaser/goreleaser/internal/pipe"
|
"github.com/goreleaser/goreleaser/internal/pipe"
|
||||||
"github.com/goreleaser/goreleaser/internal/tmpl"
|
"github.com/goreleaser/goreleaser/internal/tmpl"
|
||||||
"github.com/goreleaser/goreleaser/internal/yaml"
|
"github.com/goreleaser/goreleaser/internal/yaml"
|
||||||
@ -56,10 +54,6 @@ func (Pipe) Default(ctx *context.Context) error {
|
|||||||
if krew.Goamd64 == "" {
|
if krew.Goamd64 == "" {
|
||||||
krew.Goamd64 = "v1"
|
krew.Goamd64 = "v1"
|
||||||
}
|
}
|
||||||
if !reflect.DeepEqual(krew.Index, config.RepoRef{}) {
|
|
||||||
krew.Repository = krew.Index
|
|
||||||
deprecate.Notice(ctx, "krews.index")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
@ -967,7 +967,7 @@ func TestDefault(t *testing.T) {
|
|||||||
ProjectName: "myproject",
|
ProjectName: "myproject",
|
||||||
Krews: []config.Krew{
|
Krews: []config.Krew{
|
||||||
{
|
{
|
||||||
Index: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Git: config.GitRepoRef{
|
Git: config.GitRepoRef{
|
||||||
URL: "foo/bar",
|
URL: "foo/bar",
|
||||||
},
|
},
|
||||||
@ -981,7 +981,6 @@ func TestDefault(t *testing.T) {
|
|||||||
require.NotEmpty(t, ctx.Config.Krews[0].CommitAuthor.Email)
|
require.NotEmpty(t, ctx.Config.Krews[0].CommitAuthor.Email)
|
||||||
require.NotEmpty(t, ctx.Config.Krews[0].CommitMessageTemplate)
|
require.NotEmpty(t, ctx.Config.Krews[0].CommitMessageTemplate)
|
||||||
require.Equal(t, "foo/bar", ctx.Config.Krews[0].Repository.Git.URL)
|
require.Equal(t, "foo/bar", ctx.Config.Krews[0].Repository.Git.URL)
|
||||||
require.True(t, ctx.Deprecated)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGHFolder(t *testing.T) {
|
func TestGHFolder(t *testing.T) {
|
||||||
|
@ -8,14 +8,12 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"reflect"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/caarlos0/log"
|
"github.com/caarlos0/log"
|
||||||
"github.com/goreleaser/goreleaser/internal/artifact"
|
"github.com/goreleaser/goreleaser/internal/artifact"
|
||||||
"github.com/goreleaser/goreleaser/internal/client"
|
"github.com/goreleaser/goreleaser/internal/client"
|
||||||
"github.com/goreleaser/goreleaser/internal/commitauthor"
|
"github.com/goreleaser/goreleaser/internal/commitauthor"
|
||||||
"github.com/goreleaser/goreleaser/internal/deprecate"
|
|
||||||
"github.com/goreleaser/goreleaser/internal/pipe"
|
"github.com/goreleaser/goreleaser/internal/pipe"
|
||||||
"github.com/goreleaser/goreleaser/internal/skips"
|
"github.com/goreleaser/goreleaser/internal/skips"
|
||||||
"github.com/goreleaser/goreleaser/internal/tmpl"
|
"github.com/goreleaser/goreleaser/internal/tmpl"
|
||||||
@ -63,7 +61,7 @@ type Pipe struct{}
|
|||||||
func (Pipe) String() string { return "scoop manifests" }
|
func (Pipe) String() string { return "scoop manifests" }
|
||||||
func (Pipe) ContinueOnError() bool { return true }
|
func (Pipe) ContinueOnError() bool { return true }
|
||||||
func (Pipe) Skip(ctx *context.Context) bool {
|
func (Pipe) Skip(ctx *context.Context) bool {
|
||||||
return skips.Any(ctx, skips.Scoop) || (ctx.Config.Scoop.Repository.Name == "" && len(ctx.Config.Scoops) == 0)
|
return skips.Any(ctx, skips.Scoop) || len(ctx.Config.Scoops) == 0
|
||||||
}
|
}
|
||||||
|
|
||||||
// Run creates the scoop manifest locally.
|
// Run creates the scoop manifest locally.
|
||||||
@ -86,21 +84,11 @@ func (Pipe) Publish(ctx *context.Context) error {
|
|||||||
|
|
||||||
// Default sets the pipe defaults.
|
// Default sets the pipe defaults.
|
||||||
func (Pipe) Default(ctx *context.Context) error {
|
func (Pipe) Default(ctx *context.Context) error {
|
||||||
if !reflect.DeepEqual(ctx.Config.Scoop.Bucket, config.RepoRef{}) ||
|
|
||||||
!reflect.DeepEqual(ctx.Config.Scoop.Repository, config.RepoRef{}) {
|
|
||||||
deprecate.Notice(ctx, "scoop")
|
|
||||||
ctx.Config.Scoops = append(ctx.Config.Scoops, ctx.Config.Scoop)
|
|
||||||
}
|
|
||||||
|
|
||||||
for i := range ctx.Config.Scoops {
|
for i := range ctx.Config.Scoops {
|
||||||
scoop := &ctx.Config.Scoops[i]
|
scoop := &ctx.Config.Scoops[i]
|
||||||
if scoop.Name == "" {
|
if scoop.Name == "" {
|
||||||
scoop.Name = ctx.Config.ProjectName
|
scoop.Name = ctx.Config.ProjectName
|
||||||
}
|
}
|
||||||
if scoop.Folder != "" {
|
|
||||||
deprecate.Notice(ctx, "scoops.folder")
|
|
||||||
scoop.Directory = scoop.Folder
|
|
||||||
}
|
|
||||||
scoop.CommitAuthor = commitauthor.Default(scoop.CommitAuthor)
|
scoop.CommitAuthor = commitauthor.Default(scoop.CommitAuthor)
|
||||||
if scoop.CommitMessageTemplate == "" {
|
if scoop.CommitMessageTemplate == "" {
|
||||||
scoop.CommitMessageTemplate = "Scoop update for {{ .ProjectName }} version {{ .Tag }}"
|
scoop.CommitMessageTemplate = "Scoop update for {{ .ProjectName }} version {{ .Tag }}"
|
||||||
@ -108,10 +96,6 @@ func (Pipe) Default(ctx *context.Context) error {
|
|||||||
if scoop.Goamd64 == "" {
|
if scoop.Goamd64 == "" {
|
||||||
scoop.Goamd64 = "v1"
|
scoop.Goamd64 = "v1"
|
||||||
}
|
}
|
||||||
if !reflect.DeepEqual(scoop.Bucket, config.RepoRef{}) {
|
|
||||||
scoop.Repository = scoop.Bucket
|
|
||||||
deprecate.Notice(ctx, "scoops.bucket")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -48,33 +48,9 @@ func TestDefault(t *testing.T) {
|
|||||||
require.NotEmpty(t, ctx.Config.Scoops[0].CommitMessageTemplate)
|
require.NotEmpty(t, ctx.Config.Scoops[0].CommitMessageTemplate)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDefaultDeprecated(t *testing.T) {
|
|
||||||
testlib.Mktmp(t)
|
|
||||||
|
|
||||||
ctx := testctx.NewWithCfg(
|
|
||||||
config.Project{
|
|
||||||
ProjectName: "barr",
|
|
||||||
Scoop: config.Scoop{
|
|
||||||
Bucket: config.RepoRef{
|
|
||||||
Name: "foo",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
testctx.GitHubTokenType,
|
|
||||||
)
|
|
||||||
require.NoError(t, Pipe{}.Default(ctx))
|
|
||||||
require.Len(t, ctx.Config.Scoops, 1)
|
|
||||||
require.Equal(t, ctx.Config.ProjectName, ctx.Config.Scoops[0].Name)
|
|
||||||
require.NotEmpty(t, ctx.Config.Scoops[0].CommitAuthor.Name)
|
|
||||||
require.NotEmpty(t, ctx.Config.Scoops[0].CommitAuthor.Email)
|
|
||||||
require.NotEmpty(t, ctx.Config.Scoops[0].CommitMessageTemplate)
|
|
||||||
require.Equal(t, "foo", ctx.Config.Scoops[0].Repository.Name)
|
|
||||||
require.True(t, ctx.Deprecated)
|
|
||||||
}
|
|
||||||
|
|
||||||
func Test_doRun(t *testing.T) {
|
func Test_doRun(t *testing.T) {
|
||||||
folder := t.TempDir()
|
directory := t.TempDir()
|
||||||
file := filepath.Join(folder, "archive")
|
file := filepath.Join(directory, "archive")
|
||||||
require.NoError(t, os.WriteFile(file, []byte("lorem ipsum"), 0o644))
|
require.NoError(t, os.WriteFile(file, []byte("lorem ipsum"), 0o644))
|
||||||
|
|
||||||
type args struct {
|
type args struct {
|
||||||
@ -119,7 +95,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
},
|
},
|
||||||
Folder: "scoops",
|
Directory: "scoops",
|
||||||
Description: "A run pipe test formula",
|
Description: "A run pipe test formula",
|
||||||
Homepage: "https://github.com/goreleaser",
|
Homepage: "https://github.com/goreleaser",
|
||||||
}},
|
}},
|
||||||
@ -162,7 +138,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
Name: "test",
|
Name: "test",
|
||||||
},
|
},
|
||||||
IDs: []string{"id2"},
|
IDs: []string{"id2"},
|
||||||
Folder: "scoops",
|
Directory: "scoops",
|
||||||
Description: "A run pipe test formula",
|
Description: "A run pipe test formula",
|
||||||
Homepage: "https://github.com/goreleaser",
|
Homepage: "https://github.com/goreleaser",
|
||||||
}},
|
}},
|
||||||
@ -198,16 +174,18 @@ func Test_doRun(t *testing.T) {
|
|||||||
config.Project{
|
config.Project{
|
||||||
Dist: t.TempDir(),
|
Dist: t.TempDir(),
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
},
|
},
|
||||||
Folder: "scoops",
|
Directory: "scoops",
|
||||||
Description: "A run pipe test formula",
|
Description: "A run pipe test formula",
|
||||||
Homepage: "https://github.com/goreleaser",
|
Homepage: "https://github.com/goreleaser",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -233,7 +211,8 @@ func Test_doRun(t *testing.T) {
|
|||||||
config.Project{
|
config.Project{
|
||||||
ProjectName: "git-run-pipe",
|
ProjectName: "git-run-pipe",
|
||||||
Dist: t.TempDir(),
|
Dist: t.TempDir(),
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Name: "test",
|
Name: "test",
|
||||||
Branch: "main",
|
Branch: "main",
|
||||||
@ -242,11 +221,12 @@ func Test_doRun(t *testing.T) {
|
|||||||
PrivateKey: testlib.MakeNewSSHKey(t, ""),
|
PrivateKey: testlib.MakeNewSSHKey(t, ""),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Folder: "scoops",
|
Directory: "scoops",
|
||||||
Description: "A run pipe test formula",
|
Description: "A run pipe test formula",
|
||||||
Homepage: "https://github.com/goreleaser",
|
Homepage: "https://github.com/goreleaser",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -263,8 +243,8 @@ func Test_doRun(t *testing.T) {
|
|||||||
tb.Helper()
|
tb.Helper()
|
||||||
content := testlib.CatFileFromBareRepositoryOnBranch(
|
content := testlib.CatFileFromBareRepositoryOnBranch(
|
||||||
tb,
|
tb,
|
||||||
a.ctx.Config.Scoop.Repository.Git.URL,
|
a.ctx.Config.Scoops[0].Repository.Git.URL,
|
||||||
a.ctx.Config.Scoop.Repository.Branch,
|
a.ctx.Config.Scoops[0].Repository.Branch,
|
||||||
"scoops/git-run-pipe.json",
|
"scoops/git-run-pipe.json",
|
||||||
)
|
)
|
||||||
golden.RequireEqualJSON(tb, content)
|
golden.RequireEqualJSON(tb, content)
|
||||||
@ -276,7 +256,8 @@ func Test_doRun(t *testing.T) {
|
|||||||
testctx.NewWithCfg(
|
testctx.NewWithCfg(
|
||||||
config.Project{
|
config.Project{
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -285,6 +266,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
Homepage: "https://github.com/goreleaser",
|
Homepage: "https://github.com/goreleaser",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -323,7 +305,8 @@ func Test_doRun(t *testing.T) {
|
|||||||
config.Project{
|
config.Project{
|
||||||
GitHubURLs: config.GitHubURLs{Download: "https://api.custom.github.enterprise.com"},
|
GitHubURLs: config.GitHubURLs{Download: "https://api.custom.github.enterprise.com"},
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -332,6 +315,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
Homepage: "https://github.com/goreleaser",
|
Homepage: "https://github.com/goreleaser",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -355,7 +339,8 @@ func Test_doRun(t *testing.T) {
|
|||||||
testctx.NewWithCfg(
|
testctx.NewWithCfg(
|
||||||
config.Project{
|
config.Project{
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -364,6 +349,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
Homepage: "https://gitlab.com/goreleaser",
|
Homepage: "https://gitlab.com/goreleaser",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -396,7 +382,8 @@ func Test_doRun(t *testing.T) {
|
|||||||
config.Project{
|
config.Project{
|
||||||
GitHubURLs: config.GitHubURLs{Download: "https://api.custom.gitlab.enterprise.com"},
|
GitHubURLs: config.GitHubURLs{Download: "https://api.custom.gitlab.enterprise.com"},
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -405,6 +392,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
Homepage: "https://gitlab.com/goreleaser",
|
Homepage: "https://gitlab.com/goreleaser",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -436,7 +424,8 @@ func Test_doRun(t *testing.T) {
|
|||||||
testctx.NewWithCfg(
|
testctx.NewWithCfg(
|
||||||
config.Project{
|
config.Project{
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -445,6 +434,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
Homepage: "https://github.com/goreleaser",
|
Homepage: "https://github.com/goreleaser",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -462,7 +452,8 @@ func Test_doRun(t *testing.T) {
|
|||||||
testctx.NewWithCfg(
|
testctx.NewWithCfg(
|
||||||
config.Project{
|
config.Project{
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
SkipUpload: "auto",
|
SkipUpload: "auto",
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
@ -472,6 +463,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
Homepage: "https://github.com/goreleaser",
|
Homepage: "https://github.com/goreleaser",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1-pre.1"),
|
testctx.WithCurrentTag("v1.0.1-pre.1"),
|
||||||
testctx.WithVersion("1.0.1-pre.1"),
|
testctx.WithVersion("1.0.1-pre.1"),
|
||||||
@ -493,7 +485,8 @@ func Test_doRun(t *testing.T) {
|
|||||||
testctx.NewWithCfg(
|
testctx.NewWithCfg(
|
||||||
config.Project{
|
config.Project{
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
SkipUpload: "true",
|
SkipUpload: "true",
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
@ -503,6 +496,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
Homepage: "https://github.com/goreleaser",
|
Homepage: "https://github.com/goreleaser",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -523,7 +517,8 @@ func Test_doRun(t *testing.T) {
|
|||||||
testctx.NewWithCfg(
|
testctx.NewWithCfg(
|
||||||
config.Project{
|
config.Project{
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -532,6 +527,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
Homepage: "https://github.com/goreleaser",
|
Homepage: "https://github.com/goreleaser",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -549,7 +545,8 @@ func Test_doRun(t *testing.T) {
|
|||||||
testctx.NewWithCfg(
|
testctx.NewWithCfg(
|
||||||
config.Project{
|
config.Project{
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -557,6 +554,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
Name: "{{.Nope}}",
|
Name: "{{.Nope}}",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -576,7 +574,8 @@ func Test_doRun(t *testing.T) {
|
|||||||
testctx.NewWithCfg(
|
testctx.NewWithCfg(
|
||||||
config.Project{
|
config.Project{
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -584,6 +583,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
Description: "{{.Nope}}",
|
Description: "{{.Nope}}",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -603,7 +603,8 @@ func Test_doRun(t *testing.T) {
|
|||||||
testctx.NewWithCfg(
|
testctx.NewWithCfg(
|
||||||
config.Project{
|
config.Project{
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -611,6 +612,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
Homepage: "{{.Nope}}",
|
Homepage: "{{.Nope}}",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -630,7 +632,8 @@ func Test_doRun(t *testing.T) {
|
|||||||
testctx.NewWithCfg(
|
testctx.NewWithCfg(
|
||||||
config.Project{
|
config.Project{
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -638,6 +641,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
SkipUpload: "{{.Nope}}",
|
SkipUpload: "{{.Nope}}",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -657,16 +661,18 @@ func Test_doRun(t *testing.T) {
|
|||||||
testctx.NewWithCfg(
|
testctx.NewWithCfg(
|
||||||
config.Project{
|
config.Project{
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "{{ .Env.aaaaaa }}",
|
Owner: "{{ .Env.aaaaaa }}",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
},
|
},
|
||||||
Folder: "scoops",
|
Directory: "scoops",
|
||||||
Description: "A run pipe test formula",
|
Description: "A run pipe test formula",
|
||||||
Homepage: "https://github.com/goreleaser",
|
Homepage: "https://github.com/goreleaser",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -693,7 +699,7 @@ func Test_doRun(t *testing.T) {
|
|||||||
Name: "{{ .Env.FOO }}",
|
Name: "{{ .Env.FOO }}",
|
||||||
Branch: "{{ .Env.BRANCH }}",
|
Branch: "{{ .Env.BRANCH }}",
|
||||||
},
|
},
|
||||||
Folder: "scoops",
|
Directory: "scoops",
|
||||||
Description: "A run pipe test formula",
|
Description: "A run pipe test formula",
|
||||||
Homepage: "https://github.com/goreleaser",
|
Homepage: "https://github.com/goreleaser",
|
||||||
}},
|
}},
|
||||||
@ -734,10 +740,10 @@ func Test_doRun(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestRunPipePullRequest(t *testing.T) {
|
func TestRunPipePullRequest(t *testing.T) {
|
||||||
folder := t.TempDir()
|
directory := t.TempDir()
|
||||||
ctx := testctx.NewWithCfg(
|
ctx := testctx.NewWithCfg(
|
||||||
config.Project{
|
config.Project{
|
||||||
Dist: folder,
|
Dist: directory,
|
||||||
ProjectName: "foo",
|
ProjectName: "foo",
|
||||||
Scoops: []config.Scoop{{
|
Scoops: []config.Scoop{{
|
||||||
Name: "{{.Env.FOO}}",
|
Name: "{{.Env.FOO}}",
|
||||||
@ -757,7 +763,7 @@ func TestRunPipePullRequest(t *testing.T) {
|
|||||||
testctx.WithCurrentTag("v1.2.1"),
|
testctx.WithCurrentTag("v1.2.1"),
|
||||||
testctx.WithEnv(map[string]string{"FOO": "foobar"}),
|
testctx.WithEnv(map[string]string{"FOO": "foobar"}),
|
||||||
)
|
)
|
||||||
path := filepath.Join(folder, "dist/foo_windows_amd64/foo.exe")
|
path := filepath.Join(directory, "dist/foo_windows_amd64/foo.exe")
|
||||||
ctx.Artifacts.Add(&artifact.Artifact{
|
ctx.Artifacts.Add(&artifact.Artifact{
|
||||||
Name: "foo_windows_amd64.tar.gz",
|
Name: "foo_windows_amd64.tar.gz",
|
||||||
Path: path,
|
Path: path,
|
||||||
@ -786,8 +792,8 @@ func TestRunPipePullRequest(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_buildManifest(t *testing.T) {
|
func Test_buildManifest(t *testing.T) {
|
||||||
folder := t.TempDir()
|
directory := t.TempDir()
|
||||||
file := filepath.Join(folder, "archive")
|
file := filepath.Join(directory, "archive")
|
||||||
require.NoError(t, os.WriteFile(file, []byte("lorem ipsum"), 0o644))
|
require.NoError(t, os.WriteFile(file, []byte("lorem ipsum"), 0o644))
|
||||||
|
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
@ -808,7 +814,8 @@ func Test_buildManifest(t *testing.T) {
|
|||||||
Name: "test",
|
Name: "test",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -818,6 +825,7 @@ func Test_buildManifest(t *testing.T) {
|
|||||||
Persist: []string{"data", "config", "test.ini"},
|
Persist: []string{"data", "config", "test.ini"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -837,7 +845,8 @@ func Test_buildManifest(t *testing.T) {
|
|||||||
Name: "test",
|
Name: "test",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -849,6 +858,7 @@ func Test_buildManifest(t *testing.T) {
|
|||||||
PostInstall: []string{"Write-Host 'Running postinstall command'"},
|
PostInstall: []string{"Write-Host 'Running postinstall command'"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -862,7 +872,8 @@ func Test_buildManifest(t *testing.T) {
|
|||||||
Download: "https://github.com",
|
Download: "https://github.com",
|
||||||
},
|
},
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -874,6 +885,7 @@ func Test_buildManifest(t *testing.T) {
|
|||||||
Persist: []string{"data.cfg", "etc"},
|
Persist: []string{"data.cfg", "etc"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -887,7 +899,8 @@ func Test_buildManifest(t *testing.T) {
|
|||||||
Download: "https://gitlab.com",
|
Download: "https://gitlab.com",
|
||||||
},
|
},
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -899,6 +912,7 @@ func Test_buildManifest(t *testing.T) {
|
|||||||
Persist: []string{"data.cfg", "etc"},
|
Persist: []string{"data.cfg", "etc"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.GitHubTokenType,
|
testctx.GitHubTokenType,
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
@ -977,12 +991,13 @@ func Test_buildManifest(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func getScoopPipeSkipCtx(folder string) (*context.Context, string) {
|
func getScoopPipeSkipCtx(directory string) (*context.Context, string) {
|
||||||
ctx := testctx.NewWithCfg(
|
ctx := testctx.NewWithCfg(
|
||||||
config.Project{
|
config.Project{
|
||||||
Dist: folder,
|
Dist: directory,
|
||||||
ProjectName: "run-pipe",
|
ProjectName: "run-pipe",
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Owner: "test",
|
Owner: "test",
|
||||||
Name: "test",
|
Name: "test",
|
||||||
@ -992,11 +1007,12 @@ func getScoopPipeSkipCtx(folder string) (*context.Context, string) {
|
|||||||
Name: "run-pipe",
|
Name: "run-pipe",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
testctx.WithCurrentTag("v1.0.1"),
|
testctx.WithCurrentTag("v1.0.1"),
|
||||||
testctx.WithVersion("1.0.1"),
|
testctx.WithVersion("1.0.1"),
|
||||||
)
|
)
|
||||||
|
|
||||||
path := filepath.Join(folder, "bin.tar.gz")
|
path := filepath.Join(directory, "bin.tar.gz")
|
||||||
|
|
||||||
ctx.Artifacts.Add(&artifact.Artifact{
|
ctx.Artifacts.Add(&artifact.Artifact{
|
||||||
Name: "bin.tar.gz",
|
Name: "bin.tar.gz",
|
||||||
@ -1027,9 +1043,9 @@ func getScoopPipeSkipCtx(folder string) (*context.Context, string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestRunPipeScoopWithSkipUpload(t *testing.T) {
|
func TestRunPipeScoopWithSkipUpload(t *testing.T) {
|
||||||
folder := t.TempDir()
|
directory := t.TempDir()
|
||||||
ctx, path := getScoopPipeSkipCtx(folder)
|
ctx, path := getScoopPipeSkipCtx(directory)
|
||||||
ctx.Config.Scoop.SkipUpload = "true"
|
ctx.Config.Scoops[0].SkipUpload = "true"
|
||||||
|
|
||||||
f, err := os.Create(path)
|
f, err := os.Create(path)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
@ -1040,14 +1056,14 @@ func TestRunPipeScoopWithSkipUpload(t *testing.T) {
|
|||||||
require.NoError(t, runAll(ctx, cli))
|
require.NoError(t, runAll(ctx, cli))
|
||||||
require.EqualError(t, publishAll(ctx, cli), `scoop.skip_upload is true`)
|
require.EqualError(t, publishAll(ctx, cli), `scoop.skip_upload is true`)
|
||||||
|
|
||||||
distFile := filepath.Join(folder, "scoop", ctx.Config.Scoop.Name+".json")
|
distFile := filepath.Join(directory, "scoop", ctx.Config.Scoops[0].Name+".json")
|
||||||
_, err = os.Stat(distFile)
|
_, err = os.Stat(distFile)
|
||||||
require.NoError(t, err, "file should exist: "+distFile)
|
require.NoError(t, err, "file should exist: "+distFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestWrapInDirectory(t *testing.T) {
|
func TestWrapInDirectory(t *testing.T) {
|
||||||
folder := t.TempDir()
|
directory := t.TempDir()
|
||||||
file := filepath.Join(folder, "archive")
|
file := filepath.Join(directory, "archive")
|
||||||
require.NoError(t, os.WriteFile(file, []byte("lorem ipsum"), 0o644))
|
require.NoError(t, os.WriteFile(file, []byte("lorem ipsum"), 0o644))
|
||||||
|
|
||||||
ctx := testctx.NewWithCfg(
|
ctx := testctx.NewWithCfg(
|
||||||
@ -1105,21 +1121,25 @@ func TestSkip(t *testing.T) {
|
|||||||
})
|
})
|
||||||
t.Run("skip flag", func(t *testing.T) {
|
t.Run("skip flag", func(t *testing.T) {
|
||||||
ctx := testctx.NewWithCfg(config.Project{
|
ctx := testctx.NewWithCfg(config.Project{
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Name: "a",
|
Name: "a",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
}, testctx.Skip(skips.Scoop))
|
}, testctx.Skip(skips.Scoop))
|
||||||
require.True(t, Pipe{}.Skip(ctx))
|
require.True(t, Pipe{}.Skip(ctx))
|
||||||
})
|
})
|
||||||
t.Run("dont skip", func(t *testing.T) {
|
t.Run("dont skip", func(t *testing.T) {
|
||||||
ctx := testctx.NewWithCfg(config.Project{
|
ctx := testctx.NewWithCfg(config.Project{
|
||||||
Scoop: config.Scoop{
|
Scoops: []config.Scoop{
|
||||||
|
{
|
||||||
Repository: config.RepoRef{
|
Repository: config.RepoRef{
|
||||||
Name: "a",
|
Name: "a",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
})
|
})
|
||||||
require.False(t, Pipe{}.Skip(ctx))
|
require.False(t, Pipe{}.Skip(ctx))
|
||||||
})
|
})
|
||||||
|
@ -9,7 +9,6 @@ import (
|
|||||||
"github.com/caarlos0/log"
|
"github.com/caarlos0/log"
|
||||||
"github.com/goreleaser/goreleaser/internal/archivefiles"
|
"github.com/goreleaser/goreleaser/internal/archivefiles"
|
||||||
"github.com/goreleaser/goreleaser/internal/artifact"
|
"github.com/goreleaser/goreleaser/internal/artifact"
|
||||||
"github.com/goreleaser/goreleaser/internal/deprecate"
|
|
||||||
"github.com/goreleaser/goreleaser/internal/gio"
|
"github.com/goreleaser/goreleaser/internal/gio"
|
||||||
"github.com/goreleaser/goreleaser/internal/git"
|
"github.com/goreleaser/goreleaser/internal/git"
|
||||||
"github.com/goreleaser/goreleaser/internal/tmpl"
|
"github.com/goreleaser/goreleaser/internal/tmpl"
|
||||||
@ -129,13 +128,8 @@ func (Pipe) Default(ctx *context.Context) error {
|
|||||||
if archive.Format == "" {
|
if archive.Format == "" {
|
||||||
archive.Format = "tar.gz"
|
archive.Format = "tar.gz"
|
||||||
}
|
}
|
||||||
|
|
||||||
if archive.NameTemplate == "" {
|
if archive.NameTemplate == "" {
|
||||||
archive.NameTemplate = "{{ .ProjectName }}-{{ .Version }}"
|
archive.NameTemplate = "{{ .ProjectName }}-{{ .Version }}"
|
||||||
}
|
}
|
||||||
|
|
||||||
if archive.Enabled && archive.RLCP != "" {
|
|
||||||
deprecate.Notice(ctx, "source.rlcp")
|
|
||||||
}
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -246,15 +246,6 @@ type Homebrew struct {
|
|||||||
Goarm string `yaml:"goarm,omitempty" json:"goarm,omitempty" jsonschema:"oneof_type=string;integer"`
|
Goarm string `yaml:"goarm,omitempty" json:"goarm,omitempty" jsonschema:"oneof_type=string;integer"`
|
||||||
Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
|
Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
|
||||||
Service string `yaml:"service,omitempty" json:"service,omitempty"`
|
Service string `yaml:"service,omitempty" json:"service,omitempty"`
|
||||||
|
|
||||||
// Deprecated: use Repository instead.
|
|
||||||
Tap RepoRef `yaml:"tap,omitempty" json:"tap,omitempty" jsonschema:"deprecated=true,description=use repository instead"`
|
|
||||||
|
|
||||||
// Deprecated: use Service instead.
|
|
||||||
Plist string `yaml:"plist,omitempty" json:"plist,omitempty" jsonschema:"deprecated=true,description=use service instead"`
|
|
||||||
|
|
||||||
// Deprecated: use Directory instead.
|
|
||||||
Folder string `yaml:"folder,omitempty" json:"folder,omitempty" jsonschema:"deprecated=true"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type Nix struct {
|
type Nix struct {
|
||||||
@ -365,9 +356,6 @@ type Krew struct {
|
|||||||
Goarm string `yaml:"goarm,omitempty" json:"goarm,omitempty" jsonschema:"oneof_type=string;integer"`
|
Goarm string `yaml:"goarm,omitempty" json:"goarm,omitempty" jsonschema:"oneof_type=string;integer"`
|
||||||
Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
|
Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
|
||||||
SkipUpload string `yaml:"skip_upload,omitempty" json:"skip_upload,omitempty" jsonschema:"oneof_type=string;boolean"`
|
SkipUpload string `yaml:"skip_upload,omitempty" json:"skip_upload,omitempty" jsonschema:"oneof_type=string;boolean"`
|
||||||
|
|
||||||
// Deprecated: use Repository instead.
|
|
||||||
Index RepoRef `yaml:"index,omitempty" json:"index,omitempty" jsonschema:"deprecated=true,description=use repository instead"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ko contains the ko section
|
// Ko contains the ko section
|
||||||
@ -411,12 +399,6 @@ type Scoop struct {
|
|||||||
Depends []string `yaml:"depends,omitempty" json:"depends,omitempty"`
|
Depends []string `yaml:"depends,omitempty" json:"depends,omitempty"`
|
||||||
Shortcuts [][]string `yaml:"shortcuts,omitempty" json:"shortcuts,omitempty"`
|
Shortcuts [][]string `yaml:"shortcuts,omitempty" json:"shortcuts,omitempty"`
|
||||||
Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
|
Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
|
||||||
|
|
||||||
// Deprecated: use Repository instead.
|
|
||||||
Bucket RepoRef `yaml:"bucket,omitempty" json:"bucket,omitempty" jsonschema:"deprecated=true,description=use repository instead"`
|
|
||||||
|
|
||||||
// Deprecated: use Directory instead.
|
|
||||||
Folder string `yaml:"folder,omitempty" json:"folder,omitempty" jsonschema:"deprecated=true"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// CommitAuthor is the author of a Git commit.
|
// CommitAuthor is the author of a Git commit.
|
||||||
@ -724,12 +706,6 @@ type Archive struct {
|
|||||||
Files []File `yaml:"files,omitempty" json:"files,omitempty"`
|
Files []File `yaml:"files,omitempty" json:"files,omitempty"`
|
||||||
Meta bool `yaml:"meta,omitempty" json:"meta,omitempty"`
|
Meta bool `yaml:"meta,omitempty" json:"meta,omitempty"`
|
||||||
AllowDifferentBinaryCount bool `yaml:"allow_different_binary_count,omitempty" json:"allow_different_binary_count,omitempty"`
|
AllowDifferentBinaryCount bool `yaml:"allow_different_binary_count,omitempty" json:"allow_different_binary_count,omitempty"`
|
||||||
|
|
||||||
// Deprecated: don't need to set this anymore.
|
|
||||||
RLCP string `yaml:"rlcp,omitempty" json:"rlcp,omitempty" jsonschema:"oneof_type=string;boolean,deprecated=true,description=you can now remove this"`
|
|
||||||
|
|
||||||
// Deprecated: use StripBinaryDirectory instead.
|
|
||||||
StripParentBinaryFolder bool `yaml:"strip_parent_binary_folder,omitempty" json:"strip_parent_binary_folder,omitempty" jsonschema:"deprecated=true"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReleaseNotesMode string
|
type ReleaseNotesMode string
|
||||||
@ -1114,9 +1090,6 @@ type Changelog struct {
|
|||||||
Format string `yaml:"format,omitempty" json:"format,omitempty"`
|
Format string `yaml:"format,omitempty" json:"format,omitempty"`
|
||||||
Groups []ChangelogGroup `yaml:"groups,omitempty" json:"groups,omitempty"`
|
Groups []ChangelogGroup `yaml:"groups,omitempty" json:"groups,omitempty"`
|
||||||
Abbrev int `yaml:"abbrev,omitempty" json:"abbrev,omitempty"`
|
Abbrev int `yaml:"abbrev,omitempty" json:"abbrev,omitempty"`
|
||||||
|
|
||||||
// Deprecated: use disable instead.
|
|
||||||
Skip string `yaml:"skip,omitempty" json:"skip,omitempty" jsonschema:"oneof_type=string;boolean,deprecated=true,description=use disable instead"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ChangelogGroup holds the grouping criteria for the changelog.
|
// ChangelogGroup holds the grouping criteria for the changelog.
|
||||||
@ -1156,15 +1129,6 @@ type Blob struct {
|
|||||||
CacheControl []string `yaml:"cache_control,omitempty" json:"cache_control,omitempty"`
|
CacheControl []string `yaml:"cache_control,omitempty" json:"cache_control,omitempty"`
|
||||||
ContentDisposition string `yaml:"content_disposition,omitempty" json:"content_disposition,omitempty"`
|
ContentDisposition string `yaml:"content_disposition,omitempty" json:"content_disposition,omitempty"`
|
||||||
IncludeMeta bool `yaml:"include_meta,omitempty" json:"include_meta,omitempty"`
|
IncludeMeta bool `yaml:"include_meta,omitempty" json:"include_meta,omitempty"`
|
||||||
|
|
||||||
// Deprecated: use disable_ssl instead
|
|
||||||
OldDisableSSL bool `yaml:"disableSSL,omitempty" json:"disableSSL,omitempty" jsonschema:"deprecated=true,description=use disable_ssl instead"` //nolint:tagliatelle
|
|
||||||
|
|
||||||
// Deprecated: use kms_key instead
|
|
||||||
OldKMSKey string `yaml:"kmskey,omitempty" json:"kmskey,omitempty" jsonschema:"deprecated=true,description=use kms_key instead"`
|
|
||||||
|
|
||||||
// Deprecated: use Directory instead.
|
|
||||||
Folder string `yaml:"folder,omitempty" json:"folder,omitempty" jsonschema:"deprecated=true"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Upload configuration.
|
// Upload configuration.
|
||||||
@ -1208,9 +1172,6 @@ type Source struct {
|
|||||||
Enabled bool `yaml:"enabled,omitempty" json:"enabled,omitempty"`
|
Enabled bool `yaml:"enabled,omitempty" json:"enabled,omitempty"`
|
||||||
PrefixTemplate string `yaml:"prefix_template,omitempty" json:"prefix_template,omitempty"`
|
PrefixTemplate string `yaml:"prefix_template,omitempty" json:"prefix_template,omitempty"`
|
||||||
Files []File `yaml:"files,omitempty" json:"files,omitempty"`
|
Files []File `yaml:"files,omitempty" json:"files,omitempty"`
|
||||||
|
|
||||||
// Deprecated: don't need to set this anymore.
|
|
||||||
RLCP string `yaml:"rlcp,omitempty" json:"rlcp,omitempty" jsonschema:"oneof_type=string;boolean,deprecated=true,description=you can now remove this"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Project includes all project configuration.
|
// Project includes all project configuration.
|
||||||
@ -1269,12 +1230,6 @@ type Project struct {
|
|||||||
|
|
||||||
// should be set if using Gitea
|
// should be set if using Gitea
|
||||||
GiteaURLs GiteaURLs `yaml:"gitea_urls,omitempty" json:"gitea_urls,omitempty"`
|
GiteaURLs GiteaURLs `yaml:"gitea_urls,omitempty" json:"gitea_urls,omitempty"`
|
||||||
|
|
||||||
// Deprecated: use Scoops instead.
|
|
||||||
Scoop Scoop `yaml:"scoop,omitempty" json:"scoop,omitempty" jsonschema:"deprecated=true,description=use scoops instead"`
|
|
||||||
|
|
||||||
// Deprecated: use Builds instead.
|
|
||||||
SingleBuild Build `yaml:"build,omitempty" json:"build,omitempty" jsonschema:"deprecated=true,description=use builds instead"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type ProjectMetadata struct {
|
type ProjectMetadata struct {
|
||||||
|
@ -10,6 +10,7 @@ import (
|
|||||||
func TestUnmarshalHomebrewDependency(t *testing.T) {
|
func TestUnmarshalHomebrewDependency(t *testing.T) {
|
||||||
t.Run("string arr", func(t *testing.T) {
|
t.Run("string arr", func(t *testing.T) {
|
||||||
conf := `
|
conf := `
|
||||||
|
version: 2
|
||||||
brews:
|
brews:
|
||||||
- name: foo
|
- name: foo
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -31,6 +32,7 @@ brews:
|
|||||||
|
|
||||||
t.Run("mixed", func(t *testing.T) {
|
t.Run("mixed", func(t *testing.T) {
|
||||||
conf := `
|
conf := `
|
||||||
|
version: 2
|
||||||
brews:
|
brews:
|
||||||
- name: foo
|
- name: foo
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -57,6 +59,7 @@ brews:
|
|||||||
|
|
||||||
t.Run("mixed", func(t *testing.T) {
|
t.Run("mixed", func(t *testing.T) {
|
||||||
conf := `
|
conf := `
|
||||||
|
version: 2
|
||||||
brews:
|
brews:
|
||||||
- name: foo
|
- name: foo
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -67,6 +70,6 @@ brews:
|
|||||||
buf := strings.NewReader(conf)
|
buf := strings.NewReader(conf)
|
||||||
_, err := LoadReader(buf)
|
_, err := LoadReader(buf)
|
||||||
|
|
||||||
require.EqualError(t, err, "yaml: unmarshal errors:\n line 6: field namer not found in type config.homebrewDependency")
|
require.EqualError(t, err, "yaml: unmarshal errors:\n line 7: field namer not found in type config.homebrewDependency")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -60,12 +60,12 @@ func TestFileNotFound(t *testing.T) {
|
|||||||
|
|
||||||
func TestInvalidFields(t *testing.T) {
|
func TestInvalidFields(t *testing.T) {
|
||||||
_, err := Load("testdata/invalid_config.yml")
|
_, err := Load("testdata/invalid_config.yml")
|
||||||
require.EqualError(t, err, "yaml: unmarshal errors:\n line 2: field invalid_yaml not found in type config.Build")
|
require.EqualError(t, err, "yaml: unmarshal errors:\n line 3: field invalid_yaml not found in type config.Build")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInvalidYaml(t *testing.T) {
|
func TestInvalidYaml(t *testing.T) {
|
||||||
_, err := Load("testdata/invalid.yml")
|
_, err := Load("testdata/invalid.yml")
|
||||||
require.EqualError(t, err, "yaml: line 1: did not find expected node content")
|
require.EqualError(t, err, "yaml: line 2: did not find expected node content")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestConfigWithAnchors(t *testing.T) {
|
func TestConfigWithAnchors(t *testing.T) {
|
||||||
@ -78,17 +78,31 @@ func TestVersion(t *testing.T) {
|
|||||||
_, err := LoadReader(bytes.NewReader(nil))
|
_, err := LoadReader(bytes.NewReader(nil))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
|
t.Run("do not allow no version with errors", func(t *testing.T) {
|
||||||
|
_, err := LoadReader(strings.NewReader("nope: nope"))
|
||||||
|
require.Error(t, err)
|
||||||
|
require.ErrorIs(t, err, VersionError{0})
|
||||||
|
})
|
||||||
t.Run("allow v0", func(t *testing.T) {
|
t.Run("allow v0", func(t *testing.T) {
|
||||||
_, err := LoadReader(strings.NewReader("version: 0"))
|
_, err := LoadReader(strings.NewReader("version: 0"))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
|
t.Run("do not allow v0 with errors", func(t *testing.T) {
|
||||||
|
_, err := LoadReader(strings.NewReader("version: 0\nnope: nope"))
|
||||||
|
require.Error(t, err)
|
||||||
|
require.ErrorIs(t, err, VersionError{0})
|
||||||
|
})
|
||||||
t.Run("allow v1", func(t *testing.T) {
|
t.Run("allow v1", func(t *testing.T) {
|
||||||
_, err := LoadReader(strings.NewReader("version: 1"))
|
_, err := LoadReader(strings.NewReader("version: 1"))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
t.Run("do not allow v2", func(t *testing.T) {
|
t.Run("do not allow v1 with errors", func(t *testing.T) {
|
||||||
_, err := LoadReader(strings.NewReader("version: 2"))
|
_, err := LoadReader(strings.NewReader("version: 1\nnope: nope"))
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
require.ErrorIs(t, err, VersionError{2})
|
require.ErrorIs(t, err, VersionError{1})
|
||||||
|
})
|
||||||
|
t.Run("allow v2", func(t *testing.T) {
|
||||||
|
_, err := LoadReader(strings.NewReader("version: 2\nbuilds: []"))
|
||||||
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
|
"github.com/caarlos0/log"
|
||||||
"github.com/goreleaser/goreleaser/internal/logext"
|
"github.com/goreleaser/goreleaser/internal/logext"
|
||||||
"github.com/goreleaser/goreleaser/internal/yaml"
|
"github.com/goreleaser/goreleaser/internal/yaml"
|
||||||
)
|
)
|
||||||
@ -18,7 +19,7 @@ type VersionError struct {
|
|||||||
func (e VersionError) Error() string {
|
func (e VersionError) Error() string {
|
||||||
return fmt.Sprintf(
|
return fmt.Sprintf(
|
||||||
"only configurations files on %s are supported, yours is %s, please update your configuration",
|
"only configurations files on %s are supported, yours is %s, please update your configuration",
|
||||||
logext.Keyword("version: 1"),
|
logext.Keyword("version: 2"),
|
||||||
logext.Keyword(fmt.Sprintf("version: %d", e.current)),
|
logext.Keyword(fmt.Sprintf("version: %d", e.current)),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -41,11 +42,18 @@ func LoadReader(fd io.Reader) (config Project, err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var versioned Versioned
|
var versioned Versioned
|
||||||
_ = yaml.Unmarshal(data, &versioned)
|
if err := yaml.Unmarshal(data, &versioned); err != nil {
|
||||||
if versioned.Version != 0 && versioned.Version != 1 {
|
return config, err
|
||||||
return config, VersionError{versioned.Version}
|
}
|
||||||
|
|
||||||
|
validVersion := versioned.Version == 2
|
||||||
|
if !validVersion {
|
||||||
|
log.Warn(VersionError{versioned.Version}.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
err = yaml.UnmarshalStrict(data, &config)
|
err = yaml.UnmarshalStrict(data, &config)
|
||||||
|
if err != nil && !validVersion {
|
||||||
|
return config, VersionError{versioned.Version}
|
||||||
|
}
|
||||||
return config, err
|
return config, err
|
||||||
}
|
}
|
||||||
|
5
pkg/config/testdata/anchor.yaml
vendored
5
pkg/config/testdata/anchor.yaml
vendored
@ -1,3 +1,4 @@
|
|||||||
|
version: 2
|
||||||
project_name: &anchor_name This string will appear as the value of two keys.
|
project_name: &anchor_name This string will appear as the value of two keys.
|
||||||
build:
|
builds:
|
||||||
binary: *anchor_name
|
- binary: *anchor_name
|
||||||
|
1
pkg/config/testdata/invalid.yml
vendored
1
pkg/config/testdata/invalid.yml
vendored
@ -1 +1,2 @@
|
|||||||
|
version: 2
|
||||||
this_is_not_valid: [
|
this_is_not_valid: [
|
||||||
|
6
pkg/config/testdata/invalid_config.yml
vendored
6
pkg/config/testdata/invalid_config.yml
vendored
@ -1,3 +1,3 @@
|
|||||||
build:
|
version: 2
|
||||||
invalid_yaml: 1
|
builds:
|
||||||
|
- invalid_yaml: 1
|
||||||
|
@ -15,6 +15,8 @@ goreleaser check
|
|||||||
|
|
||||||
## Active deprecation notices
|
## Active deprecation notices
|
||||||
|
|
||||||
|
None so far!
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
Template for new deprecations:
|
Template for new deprecations:
|
||||||
@ -39,9 +41,11 @@ Description.
|
|||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
## Removed in v2
|
||||||
|
|
||||||
### archives.strip_parent_binary_folder
|
### archives.strip_parent_binary_folder
|
||||||
|
|
||||||
> since 2024-03-29 (v1.25)
|
> since 2024-03-29 (v1.25), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
Property was renamed to be consistent across all configurations.
|
Property was renamed to be consistent across all configurations.
|
||||||
|
|
||||||
@ -63,7 +67,7 @@ Property was renamed to be consistent across all configurations.
|
|||||||
|
|
||||||
### blobs.folder
|
### blobs.folder
|
||||||
|
|
||||||
> since 2024-03-29 (v1.25)
|
> since 2024-03-29 (v1.25), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
Property was renamed to be consistent across all configurations.
|
Property was renamed to be consistent across all configurations.
|
||||||
|
|
||||||
@ -85,7 +89,7 @@ Property was renamed to be consistent across all configurations.
|
|||||||
|
|
||||||
### brews.folder
|
### brews.folder
|
||||||
|
|
||||||
> since 2024-03-29 (v1.25)
|
> since 2024-03-29 (v1.25), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
Property was renamed to be consistent across all configurations.
|
Property was renamed to be consistent across all configurations.
|
||||||
|
|
||||||
@ -107,7 +111,7 @@ Property was renamed to be consistent across all configurations.
|
|||||||
|
|
||||||
### scoops.folder
|
### scoops.folder
|
||||||
|
|
||||||
> since 2024-03-29 (v1.25)
|
> since 2024-03-29 (v1.25), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
Property was renamed to be consistent across all configurations.
|
Property was renamed to be consistent across all configurations.
|
||||||
|
|
||||||
@ -129,7 +133,7 @@ Property was renamed to be consistent across all configurations.
|
|||||||
|
|
||||||
### furies.skip
|
### furies.skip
|
||||||
|
|
||||||
> since 2024-03-03 (v1.25)
|
> since 2024-03-03 (v1.25), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
Changed to `disable` to conform with all other pipes.
|
Changed to `disable` to conform with all other pipes.
|
||||||
|
|
||||||
@ -149,7 +153,7 @@ Changed to `disable` to conform with all other pipes.
|
|||||||
|
|
||||||
### changelog.skip
|
### changelog.skip
|
||||||
|
|
||||||
> since 2024-01-14 (v1.24)
|
> since 2024-01-14 (v1.24), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
Changed to `disable` to conform with all other pipes.
|
Changed to `disable` to conform with all other pipes.
|
||||||
|
|
||||||
@ -169,7 +173,7 @@ Changed to `disable` to conform with all other pipes.
|
|||||||
|
|
||||||
### blobs.kmskey
|
### blobs.kmskey
|
||||||
|
|
||||||
> since 2024-01-07 (v1.24)
|
> since 2024-01-07 (v1.24), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
Changed to `kms_key` to conform with all other options.
|
Changed to `kms_key` to conform with all other options.
|
||||||
|
|
||||||
@ -189,7 +193,7 @@ Changed to `kms_key` to conform with all other options.
|
|||||||
|
|
||||||
### blobs.disableSSL
|
### blobs.disableSSL
|
||||||
|
|
||||||
> since 2024-01-07 (v1.24)
|
> since 2024-01-07 (v1.24), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
Changed to `disable_ssl` to conform with all other options.
|
Changed to `disable_ssl` to conform with all other options.
|
||||||
|
|
||||||
@ -209,7 +213,7 @@ Changed to `disable_ssl` to conform with all other options.
|
|||||||
|
|
||||||
### `--skip`
|
### `--skip`
|
||||||
|
|
||||||
> since 2023-09-14 (v1.21)
|
> since 2023-09-14 (v1.21), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
The following `goreleaser release` flags were deprecated:
|
The following `goreleaser release` flags were deprecated:
|
||||||
|
|
||||||
@ -255,7 +259,7 @@ the valid options, and shell autocompletion should work properly as well.
|
|||||||
|
|
||||||
### scoops.bucket
|
### scoops.bucket
|
||||||
|
|
||||||
> since 2023-06-13 (v1.19.0)
|
> since 2023-06-13 (v1.19.0), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
Replace `bucket` with `repository`.
|
Replace `bucket` with `repository`.
|
||||||
|
|
||||||
@ -281,7 +285,7 @@ Replace `bucket` with `repository`.
|
|||||||
|
|
||||||
### krews.index
|
### krews.index
|
||||||
|
|
||||||
> since 2023-06-13 (v1.19.0)
|
> since 2023-06-13 (v1.19.0), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
Replace `index` with `repository`.
|
Replace `index` with `repository`.
|
||||||
|
|
||||||
@ -307,7 +311,7 @@ Replace `index` with `repository`.
|
|||||||
|
|
||||||
### brews.tap
|
### brews.tap
|
||||||
|
|
||||||
> since 2023-06-13 (v1.19.0)
|
> since 2023-06-13 (v1.19.0), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
Replace `tap` with `repository`.
|
Replace `tap` with `repository`.
|
||||||
|
|
||||||
@ -333,7 +337,7 @@ Replace `tap` with `repository`.
|
|||||||
|
|
||||||
### archives.rlcp
|
### archives.rlcp
|
||||||
|
|
||||||
> since 2023-06-06 (v1.19.0)
|
> since 2023-06-06 (v1.19.0), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
This option is now default and can't be changed. You can remove it from your
|
This option is now default and can't be changed. You can remove it from your
|
||||||
configuration files.
|
configuration files.
|
||||||
@ -342,7 +346,7 @@ See [this](#archivesrlcp_1) for more info.
|
|||||||
|
|
||||||
### source.rlcp
|
### source.rlcp
|
||||||
|
|
||||||
> since 2023-06-06 (v1.19.0)
|
> since 2023-06-06 (v1.19.0), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
This option is now default and can't be changed. You can remove it from your
|
This option is now default and can't be changed. You can remove it from your
|
||||||
configuration files.
|
configuration files.
|
||||||
@ -351,7 +355,7 @@ See [this](#sourcerlcp_1) for more info.
|
|||||||
|
|
||||||
### brews.plist
|
### brews.plist
|
||||||
|
|
||||||
> since 2023-06-06 (v1.19.0)
|
> since 2023-06-06 (v1.19.0), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
`plist` is deprecated by Homebrew, and now on GoReleaser too. Use `service`
|
`plist` is deprecated by Homebrew, and now on GoReleaser too. Use `service`
|
||||||
instead.
|
instead.
|
||||||
@ -382,7 +386,7 @@ instead.
|
|||||||
|
|
||||||
### --debug
|
### --debug
|
||||||
|
|
||||||
> since 2023-05-16 (v1.19.0)
|
> since 2023-05-16 (v1.19.0), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
`--debug` has been deprecated in favor of `--verbose`.
|
`--debug` has been deprecated in favor of `--verbose`.
|
||||||
|
|
||||||
@ -400,7 +404,7 @@ instead.
|
|||||||
|
|
||||||
### scoop
|
### scoop
|
||||||
|
|
||||||
> since 2023-04-30 (v1.18.0)
|
> since 2023-04-30 (v1.18.0), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
GoReleaser now allows many `scoop` configurations, so it should be pluralized
|
GoReleaser now allows many `scoop` configurations, so it should be pluralized
|
||||||
[accordingly](/customization/scoop).
|
[accordingly](/customization/scoop).
|
||||||
@ -421,7 +425,7 @@ GoReleaser now allows many `scoop` configurations, so it should be pluralized
|
|||||||
|
|
||||||
### build
|
### build
|
||||||
|
|
||||||
> since 2023-02-09 (v1.16.0)
|
> since 2023-02-09 (v1.16.0), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
This option was still being supported, even though undocumented, for a couple
|
This option was still being supported, even though undocumented, for a couple
|
||||||
of years now. It's finally time to sunset it.
|
of years now. It's finally time to sunset it.
|
||||||
@ -445,7 +449,7 @@ Simply use the pluralized form, `builds`, according to the
|
|||||||
|
|
||||||
### --rm-dist
|
### --rm-dist
|
||||||
|
|
||||||
> since 2023-01-17 (v1.15.0)
|
> since 2023-01-17 (v1.15.0), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
`--rm-dist` has been deprecated in favor of `--clean`.
|
`--rm-dist` has been deprecated in favor of `--clean`.
|
||||||
|
|
||||||
@ -463,7 +467,7 @@ Simply use the pluralized form, `builds`, according to the
|
|||||||
|
|
||||||
### nfpms.maintainer
|
### nfpms.maintainer
|
||||||
|
|
||||||
> since 2022-05-07 (v1.9.0)
|
> since 2022-05-07 (v1.9.0), removed 2024-05-26 (v2.0)
|
||||||
|
|
||||||
nFPM will soon make mandatory setting the maintainer field.
|
nFPM will soon make mandatory setting the maintainer field.
|
||||||
|
|
||||||
@ -481,10 +485,10 @@ nFPM will soon make mandatory setting the maintainer field.
|
|||||||
- maintainer: 'Name <email>'
|
- maintainer: 'Name <email>'
|
||||||
```
|
```
|
||||||
|
|
||||||
## Expired deprecation notices
|
|
||||||
|
|
||||||
The following options were deprecated in the past and were already removed.
|
The following options were deprecated in the past and were already removed.
|
||||||
|
|
||||||
|
## Removed in v1
|
||||||
|
|
||||||
### archives.rlcp
|
### archives.rlcp
|
||||||
|
|
||||||
> since 2022-12-23 (v1.14.0), removed 2023-06-06 (v1.19.0)
|
> since 2022-12-23 (v1.14.0), removed 2023-06-06 (v1.19.0)
|
||||||
@ -813,6 +817,8 @@ ignore:
|
|||||||
|
|
||||||
If you try to use new versions of GoReleaser with Go 1.15 or older, it will warn about it until this deprecation warning expires, after that your build will likely fail.
|
If you try to use new versions of GoReleaser with Go 1.15 or older, it will warn about it until this deprecation warning expires, after that your build will likely fail.
|
||||||
|
|
||||||
|
## Removed in v0.\*
|
||||||
|
|
||||||
### Skipping SemVer Validations
|
### Skipping SemVer Validations
|
||||||
|
|
||||||
> since 2021-02-28 (v0.158.0), removed 2021-09-22 (v0.180.0)
|
> since 2021-02-28 (v0.158.0), removed 2021-09-22 (v0.180.0)
|
||||||
|
Reference in New Issue
Block a user