]> git.lizzy.rs Git - micro.git/blob - tools/remove-nightly-assets.go
0d7fb48edabdcb3302533bca22599350faef05e9
[micro.git] / tools / remove-nightly-assets.go
1 package main
2
3 import (
4         "fmt"
5         "io/ioutil"
6         "net/http"
7         "os/exec"
8         "strings"
9
10         "github.com/zyedidia/json5"
11 )
12
13 func main() {
14         resp, err := http.Get("https://api.github.com/repos/zyedidia/micro/releases")
15         if err != nil {
16                 fmt.Println(err.Error())
17                 return
18         }
19         defer resp.Body.Close()
20         body, err := ioutil.ReadAll(resp.Body)
21
22         var data interface{}
23
24         err = json5.Unmarshal(body, &data)
25
26         for _, val := range data.([]interface{}) {
27                 m := val.(map[string]interface{})
28                 releaseName := m["name"].(string)
29                 assets := m["assets"].([]interface{})
30                 for _, asset := range assets {
31                         assetInfo := asset.(map[string]interface{})
32                         url := assetInfo["url"].(string)
33                         if strings.Contains(strings.ToLower(releaseName), "nightly") {
34                                 cmd := exec.Command("hub", "api", "-X", "DELETE", url)
35                                 cmd.Run()
36                         }
37                 }
38         }
39 }