Skip to content

Commit b9dd3da

Browse files
committed
global spinner
1 parent 0286638 commit b9dd3da

2 files changed

Lines changed: 11 additions & 16 deletions

File tree

pkg/airgapped/plugin_bundle_upload.go

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -62,16 +62,17 @@ func (o *UploadPluginBundleOptions) UploadPluginBundle() error {
6262
imagesUploaded := 0
6363
// Iterate through all the images and publish them to the remote repository
6464
var repoImagePath string
65+
spinner := component.NewOutputWriterSpinner(component.WithOutputStream(os.Stderr))
66+
defer spinner.StopSpinner()
6567
for _, ic := range manifest.ImagesToCopy {
6668
imageTar := filepath.Join(pluginBundleDir, ic.SourceTarFilePath)
6769
repoImagePath, err = utils.JoinURL(o.DestinationRepo, ic.RelativeImagePath)
6870
if err != nil {
6971
return errors.Wrap(err, "error while constructing the repo image path")
7072
}
71-
if uploadErr := o.uploadImage(imageTar, repoImagePath, totalImages, imagesUploaded); uploadErr != nil {
73+
if uploadErr := o.uploadImage(imageTar, repoImagePath, totalImages, imagesUploaded, spinner); uploadErr != nil {
7274
return uploadErr
7375
}
74-
time.Sleep(3 * time.Second)
7576
imagesUploaded++
7677
}
7778
log.Infof("---------------------------")
@@ -106,32 +107,25 @@ func (o *UploadPluginBundleOptions) UploadPluginBundle() error {
106107
return nil
107108
}
108109

109-
func (o *UploadPluginBundleOptions) uploadImage(imageTar, repoImagePath string, totalImages, imagesUploaded int) error {
110+
func (o *UploadPluginBundleOptions) uploadImage(imageTar, repoImagePath string, totalImages, imagesUploaded int, spinner component.OutputWriterSpinner) error {
110111
uploadingMsg := fmt.Sprintf("[%d/%d] uploading image %q", totalImages, imagesUploaded, repoImagePath)
111112
errorMsg := fmt.Sprintf("[%d/%d] error while uploading image %q", totalImages, imagesUploaded, repoImagePath)
112113
uploadedMsg := "[%d/%d] uploaded image %q"
113114

114-
var spinner component.OutputWriterSpinner
115-
if component.IsTTYEnabled() {
116-
// Initialize the spinner
117-
spinner = component.NewOutputWriterSpinner(
118-
component.WithOutputStream(os.Stderr),
119-
component.WithSpinnerText(uploadingMsg),
120-
component.WithSpinnerStarted(),
121-
)
115+
if !component.IsTTYEnabled() {
116+
spinner.SetText(uploadingMsg)
122117
spinner.SetFinalText(errorMsg, log.LogTypeERROR)
123-
defer spinner.StopSpinner()
118+
spinner.StartSpinner()
124119
} else {
125120
log.Infof(uploadingMsg, totalImages, imagesUploaded, repoImagePath)
126121
}
127-
128122
if err := o.ImageProcessor.CopyImageFromTar(imageTar, repoImagePath); err != nil {
129123
return errors.Wrapf(err, errorMsg, repoImagePath)
130124
}
131-
125+
time.Sleep(1 * time.Second)
132126
uploadedMsg = fmt.Sprintf(uploadedMsg, totalImages, imagesUploaded+1, repoImagePath)
133-
if spinner != nil {
134-
spinner.SetFinalText(uploadedMsg, log.LogTypeINFO)
127+
if spinner == nil {
128+
spinner.SetFinalText("", "")
135129
} else {
136130
log.Infof(uploadedMsg, totalImages, imagesUploaded, repoImagePath)
137131
}

pkg/registry/client.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@ func (r *registry) CopyImageFromTar(sourceTarFile, destImageRepo string) error {
222222
Insecure: r.opts.Insecure,
223223
}
224224
}
225+
225226
originalStdout := os.Stderr
226227
pr, pw, pipeErr := os.Pipe()
227228
if pipeErr != nil {

0 commit comments

Comments
 (0)