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