diff options
Diffstat (limited to 'ansible_collections/community/grafana/hacking')
-rwxr-xr-x | ansible_collections/community/grafana/hacking/check_fragment.sh | 6 | ||||
-rw-r--r-- | ansible_collections/community/grafana/hacking/find_grafana_versions.py | 31 |
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)) |