github.com/goreleaser/goreleaser@v1.25.1/internal/pipe/release/scm.go (about) 1 package release 2 3 import ( 4 "fmt" 5 6 "github.com/goreleaser/goreleaser/internal/tmpl" 7 "github.com/goreleaser/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 if err := tmpl.New(ctx).ApplyAll( 20 &ctx.Config.Release.GitHub.Name, 21 &ctx.Config.Release.GitHub.Owner, 22 ); err != nil { 23 return err 24 } 25 26 url, err := tmpl.New(ctx).Apply(fmt.Sprintf( 27 "%s/%s/%s/releases/tag/%s", 28 ctx.Config.GitHubURLs.Download, 29 ctx.Config.Release.GitHub.Owner, 30 ctx.Config.Release.GitHub.Name, 31 ctx.Git.CurrentTag, 32 )) 33 ctx.ReleaseURL = url 34 return err 35 } 36 37 func setupGitLab(ctx *context.Context) error { 38 if ctx.Config.Release.GitLab.Name == "" { 39 repo, err := getRepository(ctx) 40 if err != nil { 41 return err 42 } 43 ctx.Config.Release.GitLab = repo 44 } 45 46 if err := tmpl.New(ctx).ApplyAll( 47 &ctx.Config.Release.GitLab.Name, 48 &ctx.Config.Release.GitLab.Owner, 49 ); err != nil { 50 return err 51 } 52 53 url, err := tmpl.New(ctx).Apply(fmt.Sprintf( 54 "%s/%s/%s/-/releases/%s", 55 ctx.Config.GitLabURLs.Download, 56 ctx.Config.Release.GitLab.Owner, 57 ctx.Config.Release.GitLab.Name, 58 ctx.Git.CurrentTag, 59 )) 60 ctx.ReleaseURL = url 61 return err 62 } 63 64 func setupGitea(ctx *context.Context) error { 65 if ctx.Config.Release.Gitea.Name == "" { 66 repo, err := getRepository(ctx) 67 if err != nil { 68 return err 69 } 70 ctx.Config.Release.Gitea = repo 71 } 72 73 if err := tmpl.New(ctx).ApplyAll( 74 &ctx.Config.Release.Gitea.Name, 75 &ctx.Config.Release.Gitea.Owner, 76 ); err != nil { 77 return err 78 } 79 80 url, err := tmpl.New(ctx).Apply(fmt.Sprintf( 81 "%s/%s/%s/releases/tag/%s", 82 ctx.Config.GiteaURLs.Download, 83 ctx.Config.Release.Gitea.Owner, 84 ctx.Config.Release.Gitea.Name, 85 ctx.Git.CurrentTag, 86 )) 87 ctx.ReleaseURL = url 88 return err 89 }