Skip to content

Commit

Permalink
add --without-download to update-stemcell
Browse files Browse the repository at this point in the history
Signed-off-by: Daniel Linsley <[email protected]>
  • Loading branch information
dlinsley committed Jun 4, 2024
1 parent ff8d61a commit db5007c
Showing 1 changed file with 13 additions and 9 deletions.
22 changes: 13 additions & 9 deletions internal/commands/update_stemcell.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ type UpdateStemcell struct {
Options struct {
flags.Standard

Version string `short:"v" long:"version" required:"true" description:"desired version of stemcell"`
ReleasesDir string `short:"rd" long:"releases-directory" default:"releases" description:"path to a directory to download releases into"`
Version string `short:"v" long:"version" required:"true" description:"desired version of stemcell"`
ReleasesDir string `short:"rd" long:"releases-directory" default:"releases" description:"path to a directory to download releases into"`
WithoutDownload bool `long:"without-download" description:"updates stemcell releases without downloading releases"`
}
FS billy.Filesystem
MultiReleaseSourceProvider MultiReleaseSourceProvider
Expand Down Expand Up @@ -78,7 +79,7 @@ func (update UpdateStemcell) Execute(args []string) error {
spec.StemcellVersion = trimmedInputVersion
spec.Version = rel.Version

remote, err := releaseSource.GetMatchedRelease(spec)
remote, err := releaseSource.FindReleaseVersion(spec, false)
if err != nil {
return fmt.Errorf("while finding release %q, encountered error: %w", rel.Name, err)
}
Expand All @@ -90,14 +91,17 @@ func (update UpdateStemcell) Execute(args []string) error {
update.Logger.Printf("No change for release %q\n", rel.Name)
continue
}
lock := &kilnfileLock.Releases[i]

local, err := releaseSource.DownloadRelease(update.Options.ReleasesDir, remote)
if err != nil {
return fmt.Errorf("while downloading release %q, encountered error: %w", rel.Name, err)
if update.Options.WithoutDownload {
lock.SHA1 = remote.SHA1
} else {
local, err := releaseSource.DownloadRelease(update.Options.ReleasesDir, remote)
if err != nil {
return fmt.Errorf("while downloading release %q, encountered error: %w", rel.Name, err)
}
lock.SHA1 = local.Lock.SHA1
}

lock := &kilnfileLock.Releases[i]
lock.SHA1 = local.Lock.SHA1
lock.RemotePath = remote.RemotePath
lock.RemoteSource = remote.RemoteSource
}
Expand Down

0 comments on commit db5007c

Please sign in to comment.