From 797771017b28b27e6f8775ef77180e6031a76cd9 Mon Sep 17 00:00:00 2001 From: Christopher Hunter Date: Tue, 27 Jun 2023 16:35:24 -0700 Subject: [PATCH] refactor: rename public BOSH Release identifiers add Tarball and make it clear we are working with BOSH releases --- .../scenario/step_funcs_tile_source_code.go | 4 +-- internal/commands/find_release_version.go | 2 +- internal/commands/glaze.go | 2 +- internal/commands/update_release.go | 6 ++-- internal/commands/update_stemcell.go | 2 +- internal/component/release_source.go | 10 +++---- pkg/cargo/bump.go | 2 +- pkg/cargo/kilnfile.go | 6 ++-- pkg/cargo/kilnfile_test.go | 4 +-- pkg/cargo/release_source.go | 30 +++++++++---------- pkg/cargo/release_source_test.go | 18 +++++------ pkg/cargo/validate.go | 4 +-- pkg/cargo/validate_test.go | 10 +++---- pkg/notes/notes_data.go | 2 +- 14 files changed, 51 insertions(+), 51 deletions(-) diff --git a/internal/acceptance/workflows/scenario/step_funcs_tile_source_code.go b/internal/acceptance/workflows/scenario/step_funcs_tile_source_code.go index 21201733e..4ebf96d8e 100644 --- a/internal/acceptance/workflows/scenario/step_funcs_tile_source_code.go +++ b/internal/acceptance/workflows/scenario/step_funcs_tile_source_code.go @@ -50,7 +50,7 @@ func theLockSpecifiesVersionForRelease(ctx context.Context, releaseVersion, rele if err != nil { return err } - releaseLock, err := lock.FindReleaseWithName(releaseName) + releaseLock, err := lock.FindBOSHReleaseWithName(releaseName) if err != nil { return err } @@ -225,7 +225,7 @@ func theKilnfileVersionForReleaseIs(ctx context.Context, releaseName, releaseVer if err != nil { return err } - releaseLock, err := kf.ComponentSpec(releaseName) + releaseLock, err := kf.BOSHReleaseTarballSpecification(releaseName) if err != nil { return err } diff --git a/internal/commands/find_release_version.go b/internal/commands/find_release_version.go index 66818491e..491d29279 100644 --- a/internal/commands/find_release_version.go +++ b/internal/commands/find_release_version.go @@ -44,7 +44,7 @@ func (cmd *FindReleaseVersion) Execute(args []string) error { } releaseSource := cmd.mrsProvider(kilnfile, false) - spec, err := kilnfile.ComponentSpec(cmd.Options.Release) + spec, err := kilnfile.BOSHReleaseTarballSpecification(cmd.Options.Release) if err != nil { return err } diff --git a/internal/commands/glaze.go b/internal/commands/glaze.go index f269de793..a16d9b131 100644 --- a/internal/commands/glaze.go +++ b/internal/commands/glaze.go @@ -47,7 +47,7 @@ func (cmd *Glaze) Usage() jhanda.Usage { func pinVersions(kf cargo.Kilnfile, kl cargo.KilnfileLock) (cargo.Kilnfile, error) { kf.Stemcell.Version = kl.Stemcell.Version for releaseIndex, release := range kf.Releases { - l, err := kl.FindReleaseWithName(release.Name) + l, err := kl.FindBOSHReleaseWithName(release.Name) if err != nil { return cargo.Kilnfile{}, fmt.Errorf("release with name %q not found in Kilnfile.lock: %w", release.Name, err) } diff --git a/internal/commands/update_release.go b/internal/commands/update_release.go index 6a5b01809..7bb5a51e9 100644 --- a/internal/commands/update_release.go +++ b/internal/commands/update_release.go @@ -46,14 +46,14 @@ func (u UpdateRelease) Execute(args []string) error { return fmt.Errorf("error loading Kilnfiles: %w", err) } - releaseLock, err := kilnfileLock.FindReleaseWithName(u.Options.Name) + releaseLock, err := kilnfileLock.FindBOSHReleaseWithName(u.Options.Name) if err != nil { return fmt.Errorf( "no release named %q exists in your Kilnfile.lock - try removing the -release, -boshrelease, or -bosh-release suffix if present", u.Options.Name, ) } - releaseSpec, err := kilnfile.ComponentSpec(u.Options.Name) + releaseSpec, err := kilnfile.BOSHReleaseTarballSpecification(u.Options.Name) if err != nil { return err } @@ -127,7 +127,7 @@ func (u UpdateRelease) Execute(args []string) error { releaseLock.RemoteSource = newSourceID releaseLock.RemotePath = newRemotePath - _ = kilnfileLock.UpdateReleaseLockWithName(u.Options.Name, releaseLock) + _ = kilnfileLock.UpdateBOSHReleaseTarballLockWithName(u.Options.Name, releaseLock) err = u.Options.Standard.SaveKilnfileLock(u.filesystem, kilnfileLock) if err != nil { diff --git a/internal/commands/update_stemcell.go b/internal/commands/update_stemcell.go index 83183fde3..bf753a97c 100644 --- a/internal/commands/update_stemcell.go +++ b/internal/commands/update_stemcell.go @@ -70,7 +70,7 @@ func (update UpdateStemcell) Execute(args []string) error { for i, rel := range kilnfileLock.Releases { update.Logger.Printf("Updating release %q with stemcell %s %s...", rel.Name, kilnfileLock.Stemcell.OS, trimmedInputVersion) - spec, err := kilnfile.ComponentSpec(rel.Name) + spec, err := kilnfile.BOSHReleaseTarballSpecification(rel.Name) if err != nil { return err } diff --git a/internal/component/release_source.go b/internal/component/release_source.go index aa9515b9e..f0214fa83 100644 --- a/internal/component/release_source.go +++ b/internal/component/release_source.go @@ -73,16 +73,16 @@ const ( // TODO: use the constants from "cargo" everywhere const ( - ReleaseSourceTypeBOSHIO = cargo.ReleaseSourceTypeBOSHIO - ReleaseSourceTypeS3 = cargo.ReleaseSourceTypeS3 - ReleaseSourceTypeGithub = cargo.ReleaseSourceTypeGithub - ReleaseSourceTypeArtifactory = cargo.ReleaseSourceTypeArtifactory + ReleaseSourceTypeBOSHIO = cargo.BOSHReleaseTarballSourceTypeBOSHIO + ReleaseSourceTypeS3 = cargo.BOSHReleaseTarballSourceTypeS3 + ReleaseSourceTypeGithub = cargo.BOSHReleaseTarballSourceTypeGithub + ReleaseSourceTypeArtifactory = cargo.BOSHReleaseTarballSourceTypeArtifactory ) // ReleaseSourceFactory returns a configured ReleaseSource based on the Type field on the // cargo.ReleaseSourceConfig structure. func ReleaseSourceFactory(releaseConfig cargo.ReleaseSourceConfig, outLogger *log.Logger) ReleaseSource { - releaseConfig.ID = cargo.ReleaseSourceID(releaseConfig) + releaseConfig.ID = cargo.BOSHReleaseTarballSourceID(releaseConfig) switch releaseConfig.Type { case ReleaseSourceTypeBOSHIO: return NewBOSHIOReleaseSource(releaseConfig, "", outLogger) diff --git a/pkg/cargo/bump.go b/pkg/cargo/bump.go index 6d183c838..d81c3f950 100644 --- a/pkg/cargo/bump.go +++ b/pkg/cargo/bump.go @@ -193,7 +193,7 @@ func fetchReleasesFromRepo(ctx context.Context, repoService RepositoryReleaseLis } func fetchReleasesForBump(ctx context.Context, repoService RepositoryReleaseLister, kf Kilnfile, bump Bump) Bump { - spec, err := kf.ComponentSpec(bump.Name) + spec, err := kf.BOSHReleaseTarballSpecification(bump.Name) if err != nil { return bump } diff --git a/pkg/cargo/kilnfile.go b/pkg/cargo/kilnfile.go index 9ee1b71b6..e7fa8da46 100644 --- a/pkg/cargo/kilnfile.go +++ b/pkg/cargo/kilnfile.go @@ -18,7 +18,7 @@ type Kilnfile struct { Stemcell Stemcell `yaml:"stemcell_criteria,omitempty"` } -func (kf Kilnfile) ComponentSpec(name string) (BOSHReleaseTarballSpecification, error) { +func (kf Kilnfile) BOSHReleaseTarballSpecification(name string) (BOSHReleaseTarballSpecification, error) { for _, s := range kf.Releases { if s.Name == name { return s, nil @@ -32,7 +32,7 @@ type KilnfileLock struct { Stemcell Stemcell `yaml:"stemcell_criteria"` } -func (k KilnfileLock) FindReleaseWithName(name string) (BOSHReleaseTarballLock, error) { +func (k KilnfileLock) FindBOSHReleaseWithName(name string) (BOSHReleaseTarballLock, error) { for _, r := range k.Releases { if r.Name == name { return r, nil @@ -41,7 +41,7 @@ func (k KilnfileLock) FindReleaseWithName(name string) (BOSHReleaseTarballLock, return BOSHReleaseTarballLock{}, errors.New("not found") } -func (k KilnfileLock) UpdateReleaseLockWithName(name string, lock BOSHReleaseTarballLock) error { +func (k KilnfileLock) UpdateBOSHReleaseTarballLockWithName(name string, lock BOSHReleaseTarballLock) error { for i, r := range k.Releases { if r.Name == name { k.Releases[i] = lock diff --git a/pkg/cargo/kilnfile_test.go b/pkg/cargo/kilnfile_test.go index 1077e6213..a66eca739 100644 --- a/pkg/cargo/kilnfile_test.go +++ b/pkg/cargo/kilnfile_test.go @@ -30,7 +30,7 @@ remote_path: fake/path/to/fake-component-name damnit.Expect(string(cl)).To(Equal(validComponentLockYaml)) } -func TestKilnfileLock_UpdateReleaseLockWithName(t *testing.T) { +func TestKilnfileLock_UpdateBOSHReleaseTarballLockWithName(t *testing.T) { type args struct { name string lock BOSHReleaseTarballLock @@ -63,7 +63,7 @@ func TestKilnfileLock_UpdateReleaseLockWithName(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - if err := tt.KilnfileLock.UpdateReleaseLockWithName(tt.args.name, tt.args.lock); tt.wantErr { + if err := tt.KilnfileLock.UpdateBOSHReleaseTarballLockWithName(tt.args.name, tt.args.lock); tt.wantErr { assert.Error(t, err) } else { assert.NoError(t, err) diff --git a/pkg/cargo/release_source.go b/pkg/cargo/release_source.go index 3a607b80b..0860f14dc 100644 --- a/pkg/cargo/release_source.go +++ b/pkg/cargo/release_source.go @@ -1,36 +1,36 @@ package cargo const ( - // ReleaseSourceTypeBOSHIO is the value of the Type field on cargo.ReleaseSourceConfig + // BOSHReleaseTarballSourceTypeBOSHIO is the value of the Type field on cargo.ReleaseSourceConfig // for fetching https://bosh.io releases. - ReleaseSourceTypeBOSHIO = "bosh.io" + BOSHReleaseTarballSourceTypeBOSHIO = "bosh.io" - // ReleaseSourceTypeS3 is the value for the Type field on cargo.ReleaseSourceConfig + // BOSHReleaseTarballSourceTypeS3 is the value for the Type field on cargo.ReleaseSourceConfig // for releases stored on - ReleaseSourceTypeS3 = "s3" + BOSHReleaseTarballSourceTypeS3 = "s3" - // ReleaseSourceTypeGithub is the value for the Type field on cargo.ReleaseSourceConfig + // BOSHReleaseTarballSourceTypeGithub is the value for the Type field on cargo.ReleaseSourceConfig // for releases stored on GitHub. - ReleaseSourceTypeGithub = "github" + BOSHReleaseTarballSourceTypeGithub = "github" - // ReleaseSourceTypeArtifactory is the value for the Type field on cargo.ReleaseSourceConfig + // BOSHReleaseTarballSourceTypeArtifactory is the value for the Type field on cargo.ReleaseSourceConfig // for releases stored on Artifactory. - ReleaseSourceTypeArtifactory = "artifactory" + BOSHReleaseTarballSourceTypeArtifactory = "artifactory" ) -func ReleaseSourceID(releaseConfig ReleaseSourceConfig) string { +func BOSHReleaseTarballSourceID(releaseConfig ReleaseSourceConfig) string { if releaseConfig.ID != "" { return releaseConfig.ID } switch releaseConfig.Type { - case ReleaseSourceTypeBOSHIO: - return ReleaseSourceTypeBOSHIO - case ReleaseSourceTypeS3: + case BOSHReleaseTarballSourceTypeBOSHIO: + return BOSHReleaseTarballSourceTypeBOSHIO + case BOSHReleaseTarballSourceTypeS3: return releaseConfig.Bucket - case ReleaseSourceTypeGithub: + case BOSHReleaseTarballSourceTypeGithub: return releaseConfig.Org - case ReleaseSourceTypeArtifactory: - return ReleaseSourceTypeArtifactory + case BOSHReleaseTarballSourceTypeArtifactory: + return BOSHReleaseTarballSourceTypeArtifactory default: return "" } diff --git a/pkg/cargo/release_source_test.go b/pkg/cargo/release_source_test.go index 0b5e24b21..46d1abe36 100644 --- a/pkg/cargo/release_source_test.go +++ b/pkg/cargo/release_source_test.go @@ -15,18 +15,18 @@ func TestReleaseSourceID(t *testing.T) { {Name: "zero value", ExpectedID: "", Configuration: ReleaseSourceConfig{}}, {Name: "unknown type", ExpectedID: "", Configuration: ReleaseSourceConfig{Type: "banana"}}, - {Name: ReleaseSourceTypeArtifactory + " with ID set", ExpectedID: "identifier", Configuration: ReleaseSourceConfig{ID: "identifier", Type: ReleaseSourceTypeArtifactory}}, - {Name: ReleaseSourceTypeBOSHIO + " with ID set", ExpectedID: "identifier", Configuration: ReleaseSourceConfig{ID: "identifier", Type: ReleaseSourceTypeBOSHIO}}, - {Name: ReleaseSourceTypeGithub + " with ID set", ExpectedID: "identifier", Configuration: ReleaseSourceConfig{ID: "identifier", Type: ReleaseSourceTypeGithub}}, - {Name: ReleaseSourceTypeS3 + " with ID set", ExpectedID: "identifier", Configuration: ReleaseSourceConfig{ID: "identifier", Type: ReleaseSourceTypeS3}}, + {Name: BOSHReleaseTarballSourceTypeArtifactory + " with ID set", ExpectedID: "identifier", Configuration: ReleaseSourceConfig{ID: "identifier", Type: BOSHReleaseTarballSourceTypeArtifactory}}, + {Name: BOSHReleaseTarballSourceTypeBOSHIO + " with ID set", ExpectedID: "identifier", Configuration: ReleaseSourceConfig{ID: "identifier", Type: BOSHReleaseTarballSourceTypeBOSHIO}}, + {Name: BOSHReleaseTarballSourceTypeGithub + " with ID set", ExpectedID: "identifier", Configuration: ReleaseSourceConfig{ID: "identifier", Type: BOSHReleaseTarballSourceTypeGithub}}, + {Name: BOSHReleaseTarballSourceTypeS3 + " with ID set", ExpectedID: "identifier", Configuration: ReleaseSourceConfig{ID: "identifier", Type: BOSHReleaseTarballSourceTypeS3}}, - {Name: ReleaseSourceTypeArtifactory + " default", ExpectedID: ReleaseSourceTypeArtifactory, Configuration: ReleaseSourceConfig{ID: "", Type: ReleaseSourceTypeArtifactory}}, - {Name: ReleaseSourceTypeBOSHIO + " default", ExpectedID: ReleaseSourceTypeBOSHIO, Configuration: ReleaseSourceConfig{ID: "", Type: ReleaseSourceTypeBOSHIO}}, - {Name: ReleaseSourceTypeGithub + " default", ExpectedID: "identifier", Configuration: ReleaseSourceConfig{ID: "", Type: ReleaseSourceTypeGithub, Org: "identifier"}}, - {Name: ReleaseSourceTypeS3 + " default", ExpectedID: "identifier", Configuration: ReleaseSourceConfig{ID: "", Type: ReleaseSourceTypeS3, Bucket: "identifier"}}, + {Name: BOSHReleaseTarballSourceTypeArtifactory + " default", ExpectedID: BOSHReleaseTarballSourceTypeArtifactory, Configuration: ReleaseSourceConfig{ID: "", Type: BOSHReleaseTarballSourceTypeArtifactory}}, + {Name: BOSHReleaseTarballSourceTypeBOSHIO + " default", ExpectedID: BOSHReleaseTarballSourceTypeBOSHIO, Configuration: ReleaseSourceConfig{ID: "", Type: BOSHReleaseTarballSourceTypeBOSHIO}}, + {Name: BOSHReleaseTarballSourceTypeGithub + " default", ExpectedID: "identifier", Configuration: ReleaseSourceConfig{ID: "", Type: BOSHReleaseTarballSourceTypeGithub, Org: "identifier"}}, + {Name: BOSHReleaseTarballSourceTypeS3 + " default", ExpectedID: "identifier", Configuration: ReleaseSourceConfig{ID: "", Type: BOSHReleaseTarballSourceTypeS3, Bucket: "identifier"}}, } { t.Run(tt.Name, func(t *testing.T) { - assert.Equal(t, tt.ExpectedID, ReleaseSourceID(tt.Configuration)) + assert.Equal(t, tt.ExpectedID, BOSHReleaseTarballSourceID(tt.Configuration)) }) } } diff --git a/pkg/cargo/validate.go b/pkg/cargo/validate.go index 89c6af45b..fb14b1c1d 100644 --- a/pkg/cargo/validate.go +++ b/pkg/cargo/validate.go @@ -16,7 +16,7 @@ func Validate(spec Kilnfile, lock KilnfileLock) []error { continue } - componentLock, err := lock.FindReleaseWithName(componentSpec.Name) + componentLock, err := lock.FindBOSHReleaseWithName(componentSpec.Name) if err != nil { result = append(result, fmt.Errorf("component spec for release %q not found in lock", componentSpec.Name)) @@ -41,7 +41,7 @@ func ensureRemoteSourceExistsForEachReleaseLock(spec Kilnfile, lock KilnfileLock var result []error for _, release := range lock.Releases { if releaseSourceIndex := slices.IndexFunc(spec.ReleaseSources, func(config ReleaseSourceConfig) bool { - return ReleaseSourceID(config) == release.RemoteSource + return BOSHReleaseTarballSourceID(config) == release.RemoteSource }); releaseSourceIndex < 0 { result = append(result, fmt.Errorf("release source %q for release lock %q not found in Kilnfile", release.RemoteSource, release.Name)) diff --git a/pkg/cargo/validate_test.go b/pkg/cargo/validate_test.go index 8d284f2e9..b8b0ca7fb 100644 --- a/pkg/cargo/validate_test.go +++ b/pkg/cargo/validate_test.go @@ -136,14 +136,14 @@ func TestValidate_release_sources(t *testing.T) { please := NewWithT(t) results := Validate(Kilnfile{ ReleaseSources: []ReleaseSourceConfig{ - {Type: ReleaseSourceTypeBOSHIO}, + {Type: BOSHReleaseTarballSourceTypeBOSHIO}, }, Releases: []BOSHReleaseTarballSpecification{ {Name: "orange"}, }, }, KilnfileLock{ Releases: []BOSHReleaseTarballLock{ - {Name: "orange", Version: "1.2.3", RemoteSource: ReleaseSourceTypeBOSHIO}, + {Name: "orange", Version: "1.2.3", RemoteSource: BOSHReleaseTarballSourceTypeBOSHIO}, }, }) please.Expect(results).To(BeEmpty()) @@ -152,14 +152,14 @@ func TestValidate_release_sources(t *testing.T) { please := NewWithT(t) results := Validate(Kilnfile{ ReleaseSources: []ReleaseSourceConfig{ - {ID: "open source", Type: ReleaseSourceTypeBOSHIO}, + {ID: "open source", Type: BOSHReleaseTarballSourceTypeBOSHIO}, }, Releases: []BOSHReleaseTarballSpecification{ {Name: "orange"}, }, }, KilnfileLock{ Releases: []BOSHReleaseTarballLock{ - {Name: "orange", Version: "1.2.3", RemoteSource: ReleaseSourceTypeBOSHIO}, + {Name: "orange", Version: "1.2.3", RemoteSource: BOSHReleaseTarballSourceTypeBOSHIO}, }, }) please.Expect(results).To(HaveLen(1)) @@ -168,7 +168,7 @@ func TestValidate_release_sources(t *testing.T) { please := NewWithT(t) results := Validate(Kilnfile{ ReleaseSources: []ReleaseSourceConfig{ - {Org: "crhntr", Type: ReleaseSourceTypeGithub}, + {Org: "crhntr", Type: BOSHReleaseTarballSourceTypeGithub}, }, Releases: []BOSHReleaseTarballSpecification{ {Name: "hello-tile", GitHubRepository: "https://github.com/crhntr/hello-tile"}, diff --git a/pkg/notes/notes_data.go b/pkg/notes/notes_data.go index f27c67c83..cdadf6215 100644 --- a/pkg/notes/notes_data.go +++ b/pkg/notes/notes_data.go @@ -526,7 +526,7 @@ func setEmptyComponentGitHubRepositoryFromOtherKilnfile(k1, k2 cargo.Kilnfile) c if r.GitHubRepository != "" { continue } - spec, err := k2.ComponentSpec(r.Name) + spec, err := k2.BOSHReleaseTarballSpecification(r.Name) if err != nil { continue }