github.com/triarius/goreleaser@v1.12.5/internal/pipe/release/scm.go (about) 1 package release 2 3 import ( 4 "fmt" 5 6 "github.com/triarius/goreleaser/internal/tmpl" 7 "github.com/triarius/goreleaser/pkg/context" 8 ) 9 10 func setupGitHub(ctx *context.Context) error { 11 if ctx.Config.Release.GitHub.Name == "" { 12 repo, err := getRepository(ctx) 13 if err != nil && !ctx.Snapshot { 14 return err 15 } 16 ctx.Config.Release.GitHub = repo 17 } 18 19 owner, err := tmpl.New(ctx).Apply(ctx.Config.Release.GitHub.Owner) 20 if err != nil { 21 return err 22 } 23 ctx.Config.Release.GitHub.Owner = owner 24 25 name, err := tmpl.New(ctx).Apply(ctx.Config.Release.GitHub.Name) 26 if err != nil { 27 return err 28 } 29 ctx.Config.Release.GitHub.Name = name 30 31 ctx.ReleaseURL, err = tmpl.New(ctx).Apply(fmt.Sprintf( 32 "%s/%s/%s/releases/tag/%s", 33 ctx.Config.GitHubURLs.Download, 34 ctx.Config.Release.GitHub.Owner, 35 ctx.Config.Release.GitHub.Name, 36 ctx.Git.CurrentTag, 37 )) 38 return err 39 } 40 41 func setupGitLab(ctx *context.Context) error { 42 if ctx.Config.Release.GitLab.Name == "" { 43 repo, err := getRepository(ctx) 44 if err != nil { 45 return err 46 } 47 ctx.Config.Release.GitLab = repo 48 } 49 50 owner, err := tmpl.New(ctx).Apply(ctx.Config.Release.GitLab.Owner) 51 if err != nil { 52 return err 53 } 54 ctx.Config.Release.GitLab.Owner = owner 55 56 name, err := tmpl.New(ctx).Apply(ctx.Config.Release.GitLab.Name) 57 if err != nil { 58 return err 59 } 60 ctx.Config.Release.GitLab.Name = name 61 62 ctx.ReleaseURL, err = tmpl.New(ctx).Apply(fmt.Sprintf( 63 "%s/%s/%s/-/releases/%s", 64 ctx.Config.GitLabURLs.Download, 65 ctx.Config.Release.GitLab.Owner, 66 ctx.Config.Release.GitLab.Name, 67 ctx.Git.CurrentTag, 68 )) 69 return err 70 } 71 72 func setupGitea(ctx *context.Context) error { 73 if ctx.Config.Release.Gitea.Name == "" { 74 repo, err := getRepository(ctx) 75 if err != nil { 76 return err 77 } 78 ctx.Config.Release.Gitea = repo 79 } 80 81 owner, err := tmpl.New(ctx).Apply(ctx.Config.Release.Gitea.Owner) 82 if err != nil { 83 return err 84 } 85 ctx.Config.Release.Gitea.Owner = owner 86 87 name, err := tmpl.New(ctx).Apply(ctx.Config.Release.Gitea.Name) 88 if err != nil { 89 return err 90 } 91 ctx.Config.Release.Gitea.Name = name 92 93 ctx.ReleaseURL, err = tmpl.New(ctx).Apply(fmt.Sprintf( 94 "%s/%s/%s/releases/tag/%s", 95 ctx.Config.GiteaURLs.Download, 96 ctx.Config.Release.Gitea.Owner, 97 ctx.Config.Release.Gitea.Name, 98 ctx.Git.CurrentTag, 99 )) 100 return err 101 }