36
36
getEnv = os .Getenv
37
37
)
38
38
39
- const latestVersionURL = "https://storage.googleapis.com/skaffold/releases/latest/VERSION"
39
+ const LatestVersionURL = "https://storage.googleapis.com/skaffold/releases/latest/VERSION"
40
40
41
41
// IsUpdateCheckEnabled returns whether or not the update check is enabled
42
42
// It is true by default, but setting it to any other value than true will disable the check
@@ -60,19 +60,11 @@ func isUpdateCheckEnabledByEnvOrConfig(configfile string) bool {
60
60
// and returns it with the current version of Skaffold
61
61
func getLatestAndCurrentVersion () (semver.Version , semver.Version , error ) {
62
62
none := semver.Version {}
63
- resp , err := http . Get ( latestVersionURL )
63
+ versionString , err := DownloadLatestVersion ( )
64
64
if err != nil {
65
- return none , none , errors . Wrap ( err , "getting latest version info from GCS" )
65
+ return none , none , err
66
66
}
67
- defer resp .Body .Close ()
68
- if resp .StatusCode != http .StatusOK {
69
- return none , none , errors .Wrapf (err , "http %d, error: %s" , resp .StatusCode , resp .Status )
70
- }
71
- versionBytes , err := ioutil .ReadAll (resp .Body )
72
- if err != nil {
73
- return none , none , errors .Wrap (err , "reading version file from GCS" )
74
- }
75
- latest , err := version .ParseVersion (string (versionBytes ))
67
+ latest , err := version .ParseVersion (versionString )
76
68
if err != nil {
77
69
return none , none , errors .Wrap (err , "parsing latest version from GCS" )
78
70
}
@@ -82,3 +74,19 @@ func getLatestAndCurrentVersion() (semver.Version, semver.Version, error) {
82
74
}
83
75
return latest , current , nil
84
76
}
77
+
78
+ func DownloadLatestVersion () (string , error ) {
79
+ resp , err := http .Get (LatestVersionURL )
80
+ if err != nil {
81
+ return "" , errors .Wrap (err , "getting latest version info from GCS" )
82
+ }
83
+ defer resp .Body .Close ()
84
+ if resp .StatusCode != http .StatusOK {
85
+ return "" , errors .Wrapf (err , "http %d, error: %s" , resp .StatusCode , resp .Status )
86
+ }
87
+ versionBytes , err := ioutil .ReadAll (resp .Body )
88
+ if err != nil {
89
+ return "" , errors .Wrap (err , "reading version file from GCS" )
90
+ }
91
+ return strings .TrimSuffix (string (versionBytes ), "\n " ), nil
92
+ }
0 commit comments