[eks] Use the new platform-versions page.

- See https://github.com/awsdocs/amazon-eks-user-guide/issues/603
- Tracking eks release numbers makes more sense here
This commit is contained in:
Nemo
2022-09-19 19:14:51 +05:30
committed by Nemo
parent e7a48308d3
commit f8b505409d
2 changed files with 77 additions and 75 deletions

View File

@@ -1,44 +1,50 @@
{
"1.23.7": "2022-08-12",
"1.22.10": "2022-07-19",
"1.21.13": "2022-07-19",
"1.20.15": "2022-05-11",
"1.19.16": "2022-05-11",
"1.22.9": "2022-06-13",
"1.21.12": "2022-06-13",
"1.22.6": "2022-04-05",
"1.21.9": "2022-05-11",
"1.21.5": "2022-02-22",
"1.20.7": "2021-08-03",
"1.19.15": "2022-02-22",
"1.18.16": "2021-04-28",
"1.21.2": "2021-07-20",
"1.19.8": "2021-04-26",
"1.17.17": "2021-04-28",
"1.16.15": "2020-11-27",
"1.20.4": "2021-05-19",
"1.15.12": "2020-11-27",
"1.18.9": "2020-11-27",
"1.17.12": "2020-11-27",
"1.19.6": "2021-02-20",
"1.14.9": "2020-01-02",
"1.18.8": "2020-10-27",
"1.17.9": "2020-08-17",
"1.16.13": "2020-08-17",
"1.15.11": "2020-04-14",
"1.17.6": "2020-07-31",
"1.16.8": "2020-05-05",
"1.16.12": "2020-07-10",
"1.13.12": "2020-01-07",
"1.12.10": "2019-09-05",
"1.15.10": "2020-03-13",
"1.14.7": "2019-11-01",
"1.13.10": "2019-09-16",
"1.11.10": "2019-09-05",
"1.14.6": "2019-09-16",
"1.13.8": "2019-09-05",
"1.13.7": "2019-06-19",
"1.12.6": "2019-06-19",
"1.11.8": "2019-06-19",
"1.10.13": "2019-06-19"
"1.23-eks-1": "2022-08-11",
"1.22-eks-5": "2022-08-15",
"1.22-eks-4": "2022-07-21",
"1.22-eks-3": "2022-07-07",
"1.22-eks-2": "2022-05-31",
"1.22-eks-1": "2022-04-04",
"1.21-eks-10": "2022-08-15",
"1.21-eks-9": "2022-07-21",
"1.21-eks-8": "2022-07-07",
"1.21-eks-7": "2022-05-31",
"1.21-eks-6": "2022-04-08",
"1.21-eks-5": "2022-03-10",
"1.21-eks-4": "2021-12-13",
"1.21-eks-3": "2021-11-08",
"1.21-eks-2": "2021-09-17",
"1.21-eks-1": "2021-07-19",
"1.20-eks-8": "2022-08-15",
"1.20-eks-7": "2022-07-21",
"1.20-eks-6": "2022-05-31",
"1.20-eks-5": "2022-04-08",
"1.20-eks-4": "2022-03-10",
"1.20-eks-3": "2021-11-08",
"1.20-eks-2": "2021-07-30",
"1.20-eks-1": "2021-05-18",
"1.19-eks-11": "2022-08-15",
"1.19-eks-10": "2022-05-31",
"1.19-eks-9": "2022-04-08",
"1.19-eks-8": "2022-03-10",
"1.19-eks-7": "2021-11-08",
"1.19-eks-6": "2021-09-17",
"1.19-eks-5": "2021-06-01",
"1.19-eks-4": "2021-05-04",
"1.19-eks-3": "2021-04-14",
"1.19-eks-2": "2021-03-23",
"1.19-eks-1": "2021-02-16",
"1.18-eks-13": "2022-08-15",
"1.18-eks-12": "2022-05-31",
"1.18-eks-11": "2022-04-08",
"1.18-eks-10": "2022-03-10",
"1.18-eks-9": "2021-11-08",
"1.18-eks-8": "2021-09-17",
"1.18-eks-7": "2021-06-01",
"1.18-eks-6": "2021-05-04",
"1.18-eks-5": "2021-04-26",
"1.18-eks-4": "2021-03-16",
"1.18-eks-3": "2020-12-01",
"1.18-eks-2": "2020-11-12",
"1.18-eks-1": "2020-10-13"
}

View File

@@ -1,40 +1,36 @@
import pygit2
import urllib.request
import datetime
import markdown
import re
from datetime import datetime
import json
from datetime import datetime
from bs4 import BeautifulSoup
REPO_CLONE_URL = 'https://github.com/awsdocs/amazon-eks-user-guide.git'
PATH = 'doc_source/kubernetes-versions.md'
TEMP_REPO_PATH = '/tmp/eks-docs'
REGEX = r"^\+ `?(?P<major>\d+)\\?\.(?P<minor>\d+)\\?\.(?P<patch>\d+)`?$"
URL = "https://raw.githubusercontent.com/awsdocs/amazon-eks-user-guide/master/doc_source/platform-versions.md"
REGEX = r"^(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)$"
versions = {}
def add_versions(c_versions, commit):
for v in c_versions:
if v not in versions:
version_string = "%s.%s.%s" % v
date = datetime.fromtimestamp(commit.commit_time).strftime('%Y-%m-%d')
versions[version_string] = date
def parse_platforms_page():
versions = {}
with urllib.request.urlopen(URL, data=None, timeout=5) as contents:
html = markdown.markdown(contents.read().decode("utf-8"), extensions=["tables"])
soup = BeautifulSoup(html, features="html5lib")
for tr in soup.findAll("tr"):
td = tr.find("td")
if td and re.match(REGEX, td.text):
version = td.text
data = tr.findAll("td")
date = data[-1].text
if len(date) > 0:
d = datetime.strptime(date, "%B %d, %Y").strftime("%Y-%m-%d")
k8s_version = ".".join(data[0].text.split(".")[:-1])
eks_version = data[1].text.replace(".", "-")
version = "%s-%s" % (k8s_version, eks_version)
versions[version] = d
return versions
def get_versions(markdown):
return re.findall(REGEX, markdown, re.MULTILINE)
pygit2.clone_repository(REPO_CLONE_URL, TEMP_REPO_PATH)
repo = pygit2.Repository(TEMP_REPO_PATH)
prev = None
tree_list = []
for cur in repo.walk(repo.head.target):
if prev is not None:
for d in cur.tree.diff_to_tree(prev.tree).deltas:
if(d.new_file.path == PATH and PATH in cur.tree):
contents = cur.tree[PATH].data.decode('UTF-8')
add_versions(get_versions(contents), cur)
if cur.parents:
prev = cur
cur = cur.parents[0]
with open('releases/eks.json', 'w') as f:
f.write(json.dumps(versions, indent=2))
if __name__ == "__main__":
versions = parse_platforms_page()
with open("releases/eks.json", "w") as f:
f.write(json.dumps(versions, indent=2))