()
| 185 | } |
| 186 | |
| 187 | func getLatestRelease() (*GithubRelease, error) { |
| 188 | resp, err := http.Get("https://api.github.com/repos/cronitorio/cronitor-cli/releases/latest") |
| 189 | if err != nil { |
| 190 | return nil, err |
| 191 | } |
| 192 | defer resp.Body.Close() |
| 193 | |
| 194 | if resp.StatusCode != http.StatusOK { |
| 195 | return nil, fmt.Errorf("GitHub API returned status %d", resp.StatusCode) |
| 196 | } |
| 197 | |
| 198 | var release GithubRelease |
| 199 | if err := json.NewDecoder(resp.Body).Decode(&release); err != nil { |
| 200 | return nil, err |
| 201 | } |
| 202 | |
| 203 | return &release, nil |
| 204 | } |
| 205 | |
| 206 | func downloadChecksum(release *GithubRelease, checksumFile string) ([]byte, error) { |
| 207 | for _, asset := range release.Assets { |
no test coverage detected