Skip to content

Commit b207cdd

Browse files
committed
Don't package match when given a tarball
Package matching is great for itterating on a release, but when a tarball is provided, the changes of amatch are slim to none. Before this change, tarballs would be repackaged even if no matches where found.
1 parent b1f0aff commit b207cdd

File tree

2 files changed

+16
-51
lines changed

2 files changed

+16
-51
lines changed

cmd/upload_release.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,18 +90,15 @@ func (c UploadReleaseCmd) uploadFile(opts UploadReleaseOpts) error {
9090
return bosherr.Errorf("Cannot upload non-remote release")
9191
}
9292

93-
releaseReader, releaseDir := c.releaseDirFactory(opts.Directory)
93+
_, releaseDir := c.releaseDirFactory(opts.Directory)
9494

9595
var release boshrel.Release
9696
var err error
9797

9898
path := opts.Args.URL.FilePath()
9999

100100
if len(path) > 0 {
101-
release, err = releaseReader.Read(path)
102-
if err != nil {
103-
return err
104-
}
101+
return c.uploadReleaseFile(path, opts)
105102
} else {
106103
release, err = releaseDir.FindRelease(opts.Name, semver.Version(opts.Version))
107104
if err != nil {
@@ -132,6 +129,10 @@ func (c UploadReleaseCmd) uploadRelease(release boshrel.Release, opts UploadRele
132129

133130
defer c.fs.RemoveAll(path) //nolint:errcheck
134131

132+
return c.uploadReleaseFile(path, opts)
133+
}
134+
135+
func (c UploadReleaseCmd) uploadReleaseFile(path string, opts UploadReleaseOpts) error {
135136
file, err := c.releaseArchiveFactory(path).File()
136137
if err != nil {
137138
return bosherr.WrapErrorf(err, "Opening release")

cmd/upload_release_test.go

Lines changed: 10 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -253,26 +253,13 @@ var _ = Describe("UploadReleaseCmd", func() {
253253
return release, nil
254254
}
255255

256-
director.MatchPackagesStub = func(manifest interface{}, compiled bool) ([]string, error) {
257-
Expect(manifest).To(Equal(boshman.Manifest{Name: "rel"}))
258-
Expect(compiled).To(BeFalse())
259-
return []string{"skip-pkg1-fp"}, nil
260-
}
261-
262-
releaseWriter.WriteStub = func(rel boshrel.Release, pkgFpsToSkip []string) (string, error) {
263-
Expect(rel).To(Equal(release))
264-
Expect(pkgFpsToSkip).To(Equal([]string{"skip-pkg1-fp"}))
265-
return "/archive-path", nil
266-
}
267-
268256
err := act()
269257
Expect(err).ToNot(HaveOccurred())
270258

271-
Expect(director.MatchPackagesCallCount()).To(Equal(1))
272259
Expect(director.UploadReleaseFileCallCount()).To(Equal(1))
273260

274261
file, rebase, fix := director.UploadReleaseFileArgsForCall(0)
275-
Expect(file.(*fakesys.FakeFile).Name()).To(Equal("/archive-path"))
262+
Expect(file.(*fakesys.FakeFile).Name()).To(Equal("./some-file.tgz"))
276263
Expect(rebase).To(BeFalse())
277264
Expect(fix).To(BeFalse())
278265
})
@@ -333,31 +320,6 @@ var _ = Describe("UploadReleaseCmd", func() {
333320
Expect(director.UploadReleaseFileCallCount()).To(Equal(1))
334321
})
335322

336-
It("clean up release", func() {
337-
releaseReader.ReadStub = func(path string) (boshrel.Release, error) {
338-
Expect(path).To(Equal("./some-file.tgz"))
339-
return release, nil
340-
}
341-
342-
releaseWriter.WriteStub = func(rel boshrel.Release, _ []string) (string, error) {
343-
Expect(rel).To(Equal(release))
344-
return "/archive-path", nil
345-
}
346-
347-
removedFiles := []string{}
348-
349-
fs.RemoveAllStub = func(path string) error {
350-
removedFiles = append(removedFiles, path)
351-
return nil
352-
}
353-
354-
err := act()
355-
Expect(err).ToNot(HaveOccurred())
356-
357-
Expect(release.CleanUpCallCount()).To(Equal(1))
358-
Expect(removedFiles).To(Equal([]string{"/archive-path"}))
359-
})
360-
361323
It("uploads given release with a fix flag hence does not filter out any packages", func() {
362324
uploadReleaseOpts.Fix = true
363325

@@ -366,20 +328,14 @@ var _ = Describe("UploadReleaseCmd", func() {
366328
return release, nil
367329
}
368330

369-
releaseWriter.WriteStub = func(rel boshrel.Release, pkgFpsToSkip []string) (string, error) {
370-
Expect(rel).To(Equal(release))
371-
Expect(pkgFpsToSkip).To(BeEmpty())
372-
return "/archive-path", nil
373-
}
374-
375331
err := act()
376332
Expect(err).ToNot(HaveOccurred())
377333

378334
Expect(director.MatchPackagesCallCount()).To(Equal(0))
379335
Expect(director.UploadReleaseFileCallCount()).To(Equal(1))
380336

381337
file, rebase, fix := director.UploadReleaseFileArgsForCall(0)
382-
Expect(file.(*fakesys.FakeFile).Name()).To(Equal("/archive-path"))
338+
Expect(file.(*fakesys.FakeFile).Name()).To(Equal("./some-file.tgz"))
383339
Expect(rebase).To(BeFalse())
384340
Expect(fix).To(BeTrue())
385341
})
@@ -465,9 +421,17 @@ var _ = Describe("UploadReleaseCmd", func() {
465421
return "/archive-path", nil
466422
}
467423

424+
removedFiles := []string{}
425+
426+
fs.RemoveAllStub = func(path string) error {
427+
removedFiles = append(removedFiles, path)
428+
return nil
429+
}
430+
468431
err := act()
469432
Expect(err).ToNot(HaveOccurred())
470433

434+
Expect(release.CleanUpCallCount()).To(Equal(1))
471435
Expect(director.MatchPackagesCallCount()).To(Equal(1))
472436
Expect(director.UploadReleaseFileCallCount()).To(Equal(1))
473437

0 commit comments

Comments
 (0)