1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-17 20:47:50 +02:00

feat: add only the manifests to the release notes

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
This commit is contained in:
Carlos Alexandro Becker 2020-11-30 21:53:36 -03:00
parent 397ff3ba84
commit 8fa7c6977a
5 changed files with 45 additions and 9 deletions

View File

@ -26,8 +26,10 @@ func describeBody(ctx *context.Context) (bytes.Buffer, error) {
for _, a := range ctx.Artifacts.Filter(artifact.ByType(artifact.DockerManifest)).List() {
dockers = append(dockers, a.Name)
}
for _, a := range ctx.Artifacts.Filter(artifact.ByType(artifact.DockerImage)).List() {
dockers = append(dockers, a.Name)
if len(dockers) == 0 {
for _, a := range ctx.Artifacts.Filter(artifact.ByType(artifact.DockerImage)).List() {
dockers = append(dockers, a.Name)
}
}
var bodyTemplate = template.Must(template.New("release").Parse(bodyTemplateText))
err := bodyTemplate.Execute(&out, struct {

View File

@ -13,7 +13,35 @@ import (
var update = flag.Bool("update", false, "update .golden files")
func TestDescribeBody(t *testing.T) {
var changelog = "feature1: description\nfeature2: other description"
var ctx = context.New(config.Project{})
ctx.ReleaseNotes = changelog
for _, d := range []string{
"goreleaser/goreleaser:0.40.0",
"goreleaser/goreleaser:latest",
"goreleaser/godownloader:v0.1.0",
} {
ctx.Artifacts.Add(&artifact.Artifact{
Name: d,
Type: artifact.DockerImage,
})
}
out, err := describeBody(ctx)
require.NoError(t, err)
var golden = "testdata/release1.golden"
if *update {
_ = ioutil.WriteFile(golden, out.Bytes(), 0755)
}
bts, err := ioutil.ReadFile(golden)
require.NoError(t, err)
require.Equal(t, string(bts), out.String())
}
func TestDescribeBodyWithDockerManifest(t *testing.T) {
var changelog = "feature1: description\nfeature2: other description"
var ctx = context.New(config.Project{})
ctx.ReleaseNotes = changelog
@ -43,7 +71,7 @@ func TestDescribeBody(t *testing.T) {
out, err := describeBody(ctx)
require.NoError(t, err)
var golden = "testdata/release1.golden"
var golden = "testdata/release3.golden"
if *update {
_ = ioutil.WriteFile(golden, out.Bytes(), 0755)
}

View File

@ -6,9 +6,3 @@ feature2: other description
- `docker pull goreleaser/goreleaser:0.40.0`
- `docker pull goreleaser/goreleaser:latest`
- `docker pull goreleaser/godownloader:v0.1.0`
- `docker pull goreleaser/goreleaser:0.40.0-amd64`
- `docker pull goreleaser/goreleaser:latest-amd64`
- `docker pull goreleaser/godownloader:v0.1.0-amd64`
- `docker pull goreleaser/goreleaser:0.40.0-arm64`
- `docker pull goreleaser/goreleaser:latest-arm64`
- `docker pull goreleaser/godownloader:v0.1.0-arm64`

View File

@ -0,0 +1,8 @@
feature1: description
feature2: other description
## Docker images
- `docker pull goreleaser/goreleaser:0.40.0`
- `docker pull goreleaser/goreleaser:latest`
- `docker pull goreleaser/godownloader:v0.1.0`

View File

@ -10,6 +10,10 @@ For it to work, it [has to be enabled in the client configurations](https://gith
Please make sure `docker manifest` works before opening issues.
Notice that if you have something in the `docker_manifests` section in your
config file, GoReleaser will add the manifest's to the release notes
instead of the Docker images names.
!!! warning
Please note that this is a beta feature, and it may change or be removed
at any time.