summaryrefslogtreecommitdiffstats
path: root/ansible_collections/community/grafana/hacking
diff options
context:
space:
mode:
Diffstat (limited to 'ansible_collections/community/grafana/hacking')
-rwxr-xr-xansible_collections/community/grafana/hacking/check_fragment.sh6
-rw-r--r--ansible_collections/community/grafana/hacking/find_grafana_versions.py31
2 files changed, 19 insertions, 18 deletions
diff --git a/ansible_collections/community/grafana/hacking/check_fragment.sh b/ansible_collections/community/grafana/hacking/check_fragment.sh
index bf90cae65..3173b342f 100755
--- a/ansible_collections/community/grafana/hacking/check_fragment.sh
+++ b/ansible_collections/community/grafana/hacking/check_fragment.sh
@@ -1,7 +1,7 @@
-#!/bin/bash
+#!/usr/bin/env bash
function fail() {
- cat << EOF
+ cat <<EOF
Dear contributor,
Thank you for you Pull Request !
@@ -10,7 +10,7 @@ function fail() {
It will help your change be released faster !
Thank you !
EOF
- exit 1
+ exit 1
}
FRAGMENTS=$(git fetch && git diff --name-only --diff-filter=ACMRT origin/main..HEAD | grep "changelogs")
diff --git a/ansible_collections/community/grafana/hacking/find_grafana_versions.py b/ansible_collections/community/grafana/hacking/find_grafana_versions.py
index b31fc530a..716f877a8 100644
--- a/ansible_collections/community/grafana/hacking/find_grafana_versions.py
+++ b/ansible_collections/community/grafana/hacking/find_grafana_versions.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3
+#!/usr/bin/env python
import json
import requests
@@ -7,12 +7,12 @@ import requests
def get_by_major(version):
if version.startswith("v"):
version = version[1:]
- return (version[0], version, int(version.replace(".", "")))
+ return int(version.split(".")[0]), version, tuple(map(int, version.split(".")))
def get_grafana_releases():
r = requests.get(
- "https://api.github.com/repos/grafana/grafana/releases?per_page=50",
+ "https://api.github.com/repos/grafana/grafana/releases?per_page=100",
headers={"Accept": "application/vnd.github.v3+json"},
)
if r.status_code != 200:
@@ -20,19 +20,20 @@ def get_grafana_releases():
return r.json()
-by_major = {}
-
if __name__ == "__main__":
releases = get_grafana_releases()
- for item in releases:
- if item.get("prerelease"):
+ by_major = {}
+
+ for release in releases:
+ if release.get("prerelease") or any(
+ char in release.get("tag_name") for char in "-+"
+ ):
continue
- major, version, as_int = get_by_major(item.get("tag_name"))
- if major not in by_major.keys() or by_major[major]["as_int"] < as_int:
- by_major[major] = {"version": version, "as_int": as_int}
- latest_3_majors = sorted(list(by_major.keys()), reverse=True)[:3]
-
- latest_releases = []
- for idx in latest_3_majors:
- latest_releases.append(by_major[idx]["version"])
+ major, version, as_tuple = get_by_major(release.get("tag_name"))
+ if major not in by_major.keys() or by_major[major]["as_tuple"] < as_tuple:
+ by_major[major] = {"version": version, "as_tuple": as_tuple}
+
+ latest_3_majors = sorted(list(by_major.keys()))[:3]
+ latest_releases = [by_major[idx]["version"] for idx in latest_3_majors]
+
print(json.dumps(latest_releases))