From a988b704ed222a70702a614ed16219bc48add61c Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Mon, 24 Apr 2017 12:46:06 -0300 Subject: [PATCH] fixed name_template version vs tag issue --- README.md | 3 ++- pipeline/build/name.go | 4 +++- pipeline/build/name_test.go | 7 ++++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f815a0d20..d1d594d43 100644 --- a/README.md +++ b/README.md @@ -222,7 +222,8 @@ archive: # This is parsed with Golang template engine and the following variables # are available: # - Binary - # - Version + # - Tag + # - Version (Tag with the `v` prefix stripped) # - Os # - Arch # The default is `{{.Binary}}_{{.Os}}_{{.Arch}}` diff --git a/pipeline/build/name.go b/pipeline/build/name.go index c4082812d..3fb75c519 100644 --- a/pipeline/build/name.go +++ b/pipeline/build/name.go @@ -11,6 +11,7 @@ type nameData struct { Os string Arch string Version string + Tag string Binary string } @@ -18,7 +19,8 @@ func nameFor(ctx *context.Context, goos, goarch string) (string, error) { var data = nameData{ Os: replace(ctx.Config.Archive.Replacements, goos), Arch: replace(ctx.Config.Archive.Replacements, goarch), - Version: ctx.Git.CurrentTag, + Version: ctx.Version, + Tag: ctx.Git.CurrentTag, Binary: ctx.Config.Build.Binary, } diff --git a/pipeline/build/name_test.go b/pipeline/build/name_test.go index c65fc2714..016fdb406 100644 --- a/pipeline/build/name_test.go +++ b/pipeline/build/name_test.go @@ -21,7 +21,7 @@ func TestNameFor(t *testing.T) { var config = config.Project{ Archive: config.Archive{ - NameTemplate: "{{.Binary}}_{{.Os}}_{{.Arch}}_{{.Version}}", + NameTemplate: "{{.Binary}}_{{.Os}}_{{.Arch}}_{{.Tag}}_{{.Version}}", Replacements: map[string]string{ "darwin": "Darwin", "amd64": "x86_64", @@ -32,7 +32,8 @@ func TestNameFor(t *testing.T) { }, } var ctx = &context.Context{ - Config: config, + Config: config, + Version: "1.2.3", Git: context.GitInfo{ CurrentTag: "v1.2.3", }, @@ -40,7 +41,7 @@ func TestNameFor(t *testing.T) { name, err := nameFor(ctx, "darwin", "amd64") assert.NoError(err) - assert.Equal("test_Darwin_x86_64_v1.2.3", name) + assert.Equal("test_Darwin_x86_64_v1.2.3_1.2.3", name) } func TestInvalidNameTemplate(t *testing.T) {