mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2026-03-16 01:19:02 +01:00
Only set tag env on tags (#6142)
This commit is contained in:
@@ -97,8 +97,8 @@ func (m *Metadata) Environ() map[string]string {
|
||||
setNonEmptyEnvVar(params, "CI_COMMIT_AUTHOR", commit.Author.Name)
|
||||
setNonEmptyEnvVar(params, "CI_COMMIT_AUTHOR_EMAIL", commit.Author.Email)
|
||||
setNonEmptyEnvVar(params, "CI_COMMIT_AUTHOR_AVATAR", commit.Author.Avatar)
|
||||
if pipeline.Event == EventTag || pipeline.Event == EventRelease || pipeline.Event == EventDeploy || strings.HasPrefix(pipeline.Commit.Ref, "refs/tags/") {
|
||||
setNonEmptyEnvVar(params, "CI_COMMIT_TAG", strings.TrimPrefix(pipeline.Commit.Ref, "refs/tags/"))
|
||||
if p, f := strings.CutPrefix(pipeline.Commit.Ref, "refs/tags/"); f {
|
||||
setNonEmptyEnvVar(params, "CI_COMMIT_TAG", p)
|
||||
}
|
||||
if pipeline.Event == EventRelease {
|
||||
setNonEmptyEnvVar(params, "CI_COMMIT_PRERELEASE", strconv.FormatBool(pipeline.Commit.IsPrerelease))
|
||||
|
||||
@@ -26,6 +26,7 @@ func TestEnviron(t *testing.T) {
|
||||
Curr: Pipeline{
|
||||
Event: EventRelease,
|
||||
Commit: Commit{
|
||||
Ref: "refs/tags/v1.2.3",
|
||||
IsPrerelease: true,
|
||||
},
|
||||
},
|
||||
@@ -44,4 +45,30 @@ func TestEnviron(t *testing.T) {
|
||||
assert.Equal(t, "true", envs["CI_COMMIT_PRERELEASE"])
|
||||
assert.Equal(t, "branch-a", envs["CI_PREV_COMMIT_SOURCE_BRANCH"])
|
||||
assert.Equal(t, "branch-b", envs["CI_PREV_COMMIT_TARGET_BRANCH"])
|
||||
assert.Equal(t, "[]", envs["CI_PIPELINE_FILES"])
|
||||
assert.Equal(t, "v1.2.3", envs["CI_COMMIT_TAG"])
|
||||
|
||||
m = Metadata{
|
||||
Sys: System{Name: "wp"},
|
||||
Curr: Pipeline{
|
||||
Event: EventPull,
|
||||
Commit: Commit{
|
||||
ChangedFiles: []string{"readme", "license"},
|
||||
Refspec: "branch-a:branch-b",
|
||||
},
|
||||
},
|
||||
Prev: Pipeline{
|
||||
Event: EventPull,
|
||||
Commit: Commit{
|
||||
Refspec: "branch-a:branch-b",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
envs = m.Environ()
|
||||
|
||||
_, ok := envs["CI_COMMIT_TAG"]
|
||||
assert.False(t, ok)
|
||||
|
||||
assert.Equal(t, `["readme","license"]`, envs["CI_PIPELINE_FILES"])
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user