Move release API check from github to GCS.

Github has rate-limiting on this URL, which causes issues for tests.
Moving to GCS also allows us to decouple Github releases from auto-updates.
pull/226/head
Dan Lorenc 2016-06-25 09:42:28 -07:00
parent fec1852fab
commit 234a5049e7
3 changed files with 48 additions and 1 deletions

View File

@ -14,6 +14,33 @@ If you do this, bump the ISO URL to point to the new ISO, and send a PR.
See [this PR](https://github.com/kubernetes/minikube/pull/165) for an example.
## Add the version to the releases.json file
Add an entry **to the top** of deploy/minikube/releases.json with the version, and send a PR.
This file controls the auto update notifications in minikube.
Only add entries to this file that should be released to all users (no pre-release, alpha or beta releases).
The file must be uploaded to GCS before notifications will go out. That step comes at the end.
The schema for this file is:
```json
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
}
```
## Run integration tests
Run this command:
@ -49,3 +76,12 @@ gsutil cp out/minikube-darwin-amd64 gs://minikube/releases/$RELEASE/
Create a new release based on your tag, like [this one](https://github.com/kubernetes/minikube/releases/tag/v0.2.0).
Upload the files, and calculate checksums.
## Upload the releases.json file to GCS
This step makes the new release trigger update notifications in old versions of Minikube.
Use this command from a clean git repo:
```shell
gsutil cp deploy/minikube/releases.json gs://minikube/releases.json
```

View File

@ -0,0 +1,11 @@
[
{
"name": "v0.3.0"
},
{
"name": "v0.2.0"
},
{
"name": "v0.1.0"
}
]

View File

@ -38,7 +38,7 @@ const updateLinkPrefix = "https://github.com/kubernetes/minikube/releases/tag/v"
var (
timeLayout = time.RFC1123
lastUpdateCheckFilePath = constants.MakeMiniPath("last_update_check")
githubMinikubeReleasesURL = "https://api.github.com/repos/kubernetes/minikube/releases"
githubMinikubeReleasesURL = "https://storage.googleapis.com/minikube/releases.json"
)
func MaybePrintUpdateTextFromGithub(output io.Writer) {