mirror of
https://github.com/lukaszraczylo/semver-generator.git
synced 2026-06-05 22:49:25 +00:00
Version checking against the current release and github graphql api.
This commit is contained in:
+13
-2
@@ -5,6 +5,7 @@ import (
|
||||
"os"
|
||||
|
||||
gql "github.com/lukaszraczylo/simple-gql-client"
|
||||
"github.com/tidwall/gjson"
|
||||
)
|
||||
|
||||
func checkLatestRelease() (string, bool) {
|
||||
@@ -15,13 +16,23 @@ func checkLatestRelease() (string, bool) {
|
||||
"Authorization": fmt.Sprintf("bearer %s", ghToken),
|
||||
}
|
||||
variables := map[string]interface{}{}
|
||||
var query = `query { viewer { login }}`
|
||||
var query = `query {
|
||||
repository(name: "semver-generator", owner: "lukaszraczylo") {
|
||||
releases(last: 1) {
|
||||
nodes {
|
||||
tag {
|
||||
name
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}`
|
||||
result, err := gql.Query(query, variables, headers)
|
||||
if err != nil {
|
||||
fmt.Println("Query error", err)
|
||||
return "", false
|
||||
}
|
||||
fmt.Println(result)
|
||||
result = gjson.Get(result, "repository.releases.nodes.0.tag.name").String()
|
||||
return result, true
|
||||
} else {
|
||||
return "[no GITHUB_TOKEN set]", false
|
||||
|
||||
+6
-2
@@ -234,8 +234,12 @@ func (s *Setup) getSemver() string {
|
||||
|
||||
func main() {
|
||||
if varShowVersion {
|
||||
checkLatestRelease()
|
||||
fmt.Println("semver-gen", PKG_VERSION, "\tMore information: https://github.com/lukaszraczylo/semver-generator")
|
||||
var outdatedMsg string
|
||||
latestRelease, latestRelaseOk := checkLatestRelease()
|
||||
if PKG_VERSION != latestRelease && latestRelaseOk {
|
||||
outdatedMsg = fmt.Sprintf("(Latest available: %s)", latestRelease)
|
||||
}
|
||||
fmt.Println("semver-gen", PKG_VERSION, "", outdatedMsg, "\tMore information: https://github.com/lukaszraczylo/semver-generator")
|
||||
return
|
||||
}
|
||||
if repo.Generate {
|
||||
|
||||
Reference in New Issue
Block a user