Skip to content

Commit ce62c8c

Browse files
committed
Enhance "UpdateCompiledReleases" function
* allow optional paths in ops file (e.g. "path: /releases/name=pxc?")
1 parent 44ebde5 commit ce62c8c

File tree

11 files changed

+96
-1
lines changed

11 files changed

+96
-1
lines changed

util/update-manifest-releases/compiledreleasesops/compiled_releases_opsfile.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func UpdateCompiledReleases(releaseNames []string, buildDir string, opsFile []by
4444
matchingReleasePath := fmt.Sprintf("/releases/name=%s", releaseName)
4545

4646
for i, op := range deserializedOpsFile {
47-
if op.Path == matchingReleasePath {
47+
if op.Path == matchingReleasePath || op.Path == matchingReleasePath+"?" {
4848
newRelease, err = getCompiledReleaseForBuild(buildDir, releaseName)
4949
if err != nil {
5050
return nil, "", err

util/update-manifest-releases/compiledreleasesops/compiled_releases_opsfile_test.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,15 @@ var _ = Describe("UpdateCompiledReleases", func() {
8585
Expect(commitMessage).To(Equal("Updated compiled releases with no-stemcell-section 0.3.0"))
8686
Expect(string(updatedOpsFile)).To(Equal(desiredOpsFile))
8787
})
88+
89+
It("updates an optional release (with '?' at end of path)", func() {
90+
releaseNames := []string{"release-may-not-exist-in-template"}
91+
desiredOpsFile, err = os.ReadFile("../fixtures/updated_compiled_releases_ops_file_with_optional_release.yml")
92+
Expect(err).NotTo(HaveOccurred())
93+
94+
updatedOpsFile, commitMessage, err := compiledreleasesops.UpdateCompiledReleases(releaseNames, compiledReleaseBuildDir, originalOpsFile, yaml.Marshal, yaml.Unmarshal)
95+
Expect(err).NotTo(HaveOccurred())
96+
Expect(commitMessage).To(Equal("Updated compiled releases with release-may-not-exist-in-template 0.0.1"))
97+
Expect(updatedOpsFile).To(MatchYAML(desiredOpsFile))
98+
})
8899
})

util/update-manifest-releases/fixtures/build-with-compiled-release/release-may-not-exist-in-template-compiled-release-tarball/release-may-not-exist-in-template

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
release-sha256
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
release-url
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.1.0

util/update-manifest-releases/fixtures/original_compiled_releases_ops_file.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,13 @@
3939
version: "0.0"
4040
url: https://storage.googleapis.com/cf-deployment-compiled-releases/more-than-1-0.0.0-cute-stemcell-0.0-20180808-202210-307673159.tgz
4141
version: 0.0.1
42+
- path: /releases/name=release-may-not-exist-in-template?
43+
type: replace
44+
value:
45+
name: release-may-not-exist-in-template
46+
sha1: sha256:b52cb52c940719d52588b5e8fc48e9b645bf1ce5a250f4bad00a1e3851a37874
47+
stemcell:
48+
os: cute-stemcell
49+
version: "0.0"
50+
url: https://storage.googleapis.com/cf-deployment-compiled-releases/release-may-not-exist-in-template-0.0.0-cute-stemcell-0.0-20180808-202210-307673159.tgz
51+
version: 0.0.1

util/update-manifest-releases/fixtures/updated_compiled_releases_ops_file.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,13 @@
3939
version: "0.0"
4040
url: https://storage.googleapis.com/cf-deployment-compiled-releases/more-than-1-0.0.0-cute-stemcell-0.0-20180808-202210-307673159.tgz
4141
version: 0.0.1
42+
- path: /releases/name=release-may-not-exist-in-template?
43+
type: replace
44+
value:
45+
name: release-may-not-exist-in-template
46+
sha1: sha256:b52cb52c940719d52588b5e8fc48e9b645bf1ce5a250f4bad00a1e3851a37874
47+
stemcell:
48+
os: cute-stemcell
49+
version: "0.0"
50+
url: https://storage.googleapis.com/cf-deployment-compiled-releases/release-may-not-exist-in-template-0.0.0-cute-stemcell-0.0-20180808-202210-307673159.tgz
51+
version: 0.0.1

util/update-manifest-releases/fixtures/updated_compiled_releases_ops_file_with_new_release.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,16 @@
3838
version: "0.0"
3939
url: https://storage.googleapis.com/cf-deployment-compiled-releases/more-than-1-0.0.0-cute-stemcell-0.0-20180808-202210-307673159.tgz
4040
version: 0.0.1
41+
- path: /releases/name=release-may-not-exist-in-template?
42+
type: replace
43+
value:
44+
name: release-may-not-exist-in-template
45+
sha1: sha256:b52cb52c940719d52588b5e8fc48e9b645bf1ce5a250f4bad00a1e3851a37874
46+
stemcell:
47+
os: cute-stemcell
48+
version: "0.0"
49+
url: https://storage.googleapis.com/cf-deployment-compiled-releases/release-may-not-exist-in-template-0.0.0-cute-stemcell-0.0-20180808-202210-307673159.tgz
50+
version: 0.0.1
4151
- path: /releases/name=extraneous
4252
type: replace
4353
value:

0 commit comments

Comments
 (0)