Skip to content

Commit 0793a11

Browse files
committed
feat: add flag whether a newer image was downloaded
1 parent 6354a84 commit 0793a11

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

pkg/client/pull/state/pull.go

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,23 @@ func (p *PullInProgress) Next(event events.PullEvent) (Pull, error) {
8282
pullBase: p.pullBase,
8383
error: event.Error,
8484
}
85+
case *events.DownloadedNewerImage:
86+
if p.digest == nil {
87+
return nil, fmt.Errorf("cannot complete pull: no digest event received")
88+
}
89+
result = &PullComplete{
90+
pullBase: p.pullBase,
91+
digest: *p.digest,
92+
downloadedNewer: true,
93+
}
8594
case events.FinalEvent:
8695
if p.digest == nil {
8796
return nil, fmt.Errorf("cannot complete pull: no digest event received")
8897
}
8998
result = &PullComplete{
90-
pullBase: p.pullBase,
91-
digest: *p.digest,
99+
pullBase: p.pullBase,
100+
digest: *p.digest,
101+
downloadedNewer: false,
92102
}
93103
}
94104

@@ -110,7 +120,8 @@ func (p *PullErrored) Next(events.PullEvent) (Pull, error) {
110120

111121
type PullComplete struct {
112122
pullBase
113-
digest digest.Digest
123+
digest digest.Digest
124+
downloadedNewer bool
114125
}
115126

116127
func (p *PullComplete) Status() string {
@@ -120,3 +131,11 @@ func (p *PullComplete) Status() string {
120131
func (p *PullComplete) Next(event events.PullEvent) (Pull, error) {
121132
return nil, fmt.Errorf("pull already complete (event: %T)", event)
122133
}
134+
135+
func (p *PullComplete) Digest() digest.Digest {
136+
return p.digest
137+
}
138+
139+
func (p *PullComplete) HasDownloadedNewer() bool {
140+
return p.downloadedNewer
141+
}

0 commit comments

Comments
 (0)