Skip to content

Commit d724bc8

Browse files
authored
Added collect env and collect git task in bp (#3105)
1 parent 2be8df3 commit d724bc8

File tree

3 files changed

+76
-5
lines changed

3 files changed

+76
-5
lines changed

buildinfo_test.go

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -740,6 +740,79 @@ func TestBuildPublishWithOverwrite(t *testing.T) {
740740
cleanArtifactoryTest()
741741
}
742742

743+
func TestArtifactoryBuildPublishWithCollectEnvAndCollectGit(t *testing.T) {
744+
initArtifactoryTest(t, "")
745+
buildNumber := "12"
746+
747+
// Build collect env
748+
setEnvCallBack := clientTestUtils.SetEnvWithCallbackAndAssert(t, "DONT_COLLECT", "foo")
749+
defer setEnvCallBack()
750+
setEnvCallBack = clientTestUtils.SetEnvWithCallbackAndAssert(t, "COLLECT", "bar")
751+
defer setEnvCallBack()
752+
753+
oldHomeDir := os.Getenv(coreutils.HomeDir)
754+
createJfrogHomeConfig(t, true)
755+
756+
// Create .git folder for this test
757+
originalFolder := "buildaddgit_.git_suffix"
758+
baseDir, dotGitPath := coretests.PrepareDotGitDir(t, originalFolder, "testdata")
759+
defer cleanBuildAddGitTest(t, baseDir, originalFolder, oldHomeDir, dotGitPath)
760+
761+
// Get path for build-add-git config file
762+
pwd, _ := os.Getwd()
763+
configPath := filepath.Join(pwd, "testdata", "buildaddgit_config.yaml")
764+
765+
expectedVcsUrl := "https://github.com/jfrog/jfrog-cli-go.git"
766+
expectedVcsRevision := "b033a0e508bdb52eee25654c9e12db33ff01b8ff"
767+
expectedVcsBranch := "master"
768+
expectedVcsMessage := "TEST-4 - Adding text to file2.txt"
769+
770+
// Publish build info
771+
runRt(t, "bp", tests.RtBuildName1, buildNumber, "--collect-env", "--collect-git-info", "--dot-git-path",
772+
baseDir, "--git-config-file-path", configPath, "--env-exclude=*password*;*psw*;*secret*;*key*;*token*;DONT_COLLECT")
773+
publishedBuildInfo, found, err := tests.GetBuildInfo(serverDetails, tests.RtBuildName1, buildNumber)
774+
if err != nil {
775+
assert.NoError(t, err)
776+
return
777+
}
778+
if !found {
779+
assert.True(t, found, "build info was expected to be found")
780+
return
781+
}
782+
buildInfo := publishedBuildInfo.BuildInfo
783+
784+
// validate env results
785+
// Make sure no sensitive data in build env
786+
for k := range buildInfo.Properties {
787+
assert.NotContains(t, k, "password")
788+
assert.NotContains(t, k, "psw")
789+
assert.NotContains(t, k, "secret")
790+
assert.NotContains(t, k, "key")
791+
assert.NotContains(t, k, "token")
792+
assert.NotContains(t, k, "DONT_COLLECT")
793+
}
794+
// Make sure "COLLECT" env appear in build env
795+
assert.Contains(t, buildInfo.Properties, "buildInfo.env.COLLECT")
796+
assert.Empty(t, buildInfo.Modules, "Env collection should not add a new module to the build info")
797+
798+
// Validate git results
799+
buildInfoVcsUrl := buildInfo.VcsList[0].Url
800+
buildInfoVcsRevision := buildInfo.VcsList[0].Revision
801+
buildInfoVcsBranch := buildInfo.VcsList[0].Branch
802+
buildInfoVcsMessage := buildInfo.VcsList[0].Message
803+
assert.Equal(t, expectedVcsRevision, buildInfoVcsRevision, "Wrong revision")
804+
assert.Equal(t, expectedVcsUrl, buildInfoVcsUrl, "Wrong url")
805+
assert.Equal(t, expectedVcsBranch, buildInfoVcsBranch, "Wrong branch")
806+
assert.Equal(t, expectedVcsMessage, buildInfoVcsMessage, "Wrong Message")
807+
assert.False(t, buildInfo.Issues == nil || len(buildInfo.Issues.AffectedIssues) != 4,
808+
"Wrong issues number, expected 4 issues, received: %+v", *buildInfo.Issues)
809+
assert.Empty(t, buildInfo.Modules, "Vcs collection should not add a new module to the build info")
810+
811+
// Cleanup
812+
inttestutils.DeleteBuild(serverDetails.ArtifactoryUrl, tests.RtBuildName1, artHttpDetails)
813+
cleanArtifactoryTest()
814+
}
815+
743816
func assertBuildNumberOccurrencesForGivenBuildNameAndNumber(t *testing.T, existingBuildInfo *buildinfo.BuildRuns,
744817
expectedOccurrences int, found bool, buildNumber string, err error) {
745818

go.mod

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ require (
1818
github.com/jfrog/archiver/v3 v3.6.1
1919
github.com/jfrog/build-info-go v1.11.0
2020
github.com/jfrog/gofrog v1.7.6
21-
github.com/jfrog/jfrog-cli-artifactory v0.7.3-0.20250917082908-0bc44115401c
21+
github.com/jfrog/jfrog-cli-artifactory v0.7.3-0.20250917120635-6e83963acb2f
2222
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20250916125111-76d9929c5d07
2323
github.com/jfrog/jfrog-cli-platform-services v1.10.0
2424
github.com/jfrog/jfrog-cli-security v1.21.7
@@ -246,8 +246,6 @@ require (
246246

247247
// replace github.com/jfrog/build-info-go => github.com/jfrog/build-info-go v1.8.9-0.20250907205057-2bfe50c014b7
248248

249-
// replace github.com/jfrog/jfrog-cli-artifactory => github.com/jfrog/jfrog-cli-artifactory v0.7.2-0.20250916071432-97cf9cbbdefd
250-
251249
// replace github.com/jfrog/jfrog-cli-core/v2 => github.com/jfrog/jfrog-cli-core/v2 v2.59.2-0.20250804083101-9cf424ecc926
252250

253251
// replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20250812100044-b52afcc698c1

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -361,8 +361,8 @@ github.com/jfrog/gofrog v1.7.6 h1:QmfAiRzVyaI7JYGsB7cxfAJePAZTzFz0gRWZSE27c6s=
361361
github.com/jfrog/gofrog v1.7.6/go.mod h1:ntr1txqNOZtHplmaNd7rS4f8jpA5Apx8em70oYEe7+4=
362362
github.com/jfrog/jfrog-apps-config v1.0.1 h1:mtv6k7g8A8BVhlHGlSveapqf4mJfonwvXYLipdsOFMY=
363363
github.com/jfrog/jfrog-apps-config v1.0.1/go.mod h1:8AIIr1oY9JuH5dylz2S6f8Ym2MaadPLR6noCBO4C22w=
364-
github.com/jfrog/jfrog-cli-artifactory v0.7.3-0.20250917082908-0bc44115401c h1:09kqzFdlU2j/zR60nZrlqmL9fSUarAZjvTniFNso02o=
365-
github.com/jfrog/jfrog-cli-artifactory v0.7.3-0.20250917082908-0bc44115401c/go.mod h1:X1SJFBGJm0oh2jlsMztoXr+xC6kQsP9tHQwAG9gIibw=
364+
github.com/jfrog/jfrog-cli-artifactory v0.7.3-0.20250917120635-6e83963acb2f h1:Hy51qJy126naz1lUfvA412jIE+1luhW+v6/0Le1Romc=
365+
github.com/jfrog/jfrog-cli-artifactory v0.7.3-0.20250917120635-6e83963acb2f/go.mod h1:X1SJFBGJm0oh2jlsMztoXr+xC6kQsP9tHQwAG9gIibw=
366366
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20250916125111-76d9929c5d07 h1:AeCP8wybfuTwiQEsIvXnvbVB2jo/YhszrCZynqetwpU=
367367
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20250916125111-76d9929c5d07/go.mod h1:h52WS70v79WLNUAMIsDGURPvAdLRrrUCLyjsj32GORo=
368368
github.com/jfrog/jfrog-cli-platform-services v1.10.0 h1:O+N/VAF+QjFvq9xkHpmzKLcdl9aJu3IP204Su0L14rw=

0 commit comments

Comments
 (0)