github.com/szyn/goreleaser@v0.76.1-0.20180517112710-333da09a1297/pipeline/release/body.go (about) 1 package release 2 3 import ( 4 "bytes" 5 "text/template" 6 7 "github.com/goreleaser/goreleaser/context" 8 "github.com/goreleaser/goreleaser/internal/artifact" 9 ) 10 11 const bodyTemplateText = `{{ .ReleaseNotes }} 12 13 {{- with .DockerImages }} 14 15 ## Docker images 16 {{ range $element := . }} 17 - ` + "`docker pull {{ . -}}`" + ` 18 {{- end -}} 19 {{- end }} 20 ` 21 22 var bodyTemplate *template.Template 23 24 func init() { 25 bodyTemplate = template.Must(template.New("release").Parse(bodyTemplateText)) 26 } 27 28 func describeBody(ctx *context.Context) (bytes.Buffer, error) { 29 var out bytes.Buffer 30 var dockers []string 31 for _, a := range ctx.Artifacts.Filter(artifact.ByType(artifact.DockerImage)).List() { 32 dockers = append(dockers, a.Name) 33 } 34 err := bodyTemplate.Execute(&out, struct { 35 ReleaseNotes string 36 DockerImages []string 37 }{ 38 ReleaseNotes: ctx.ReleaseNotes, 39 DockerImages: dockers, 40 }) 41 return out, err 42 }