[silverstripe] Add method (#532)

Parse https://raw.githubusercontent.com/silverstripe/roadmap/refs/heads/main/data.json to get release information.

Relates to https://github.com/endoflife-date/endoflife.date/pull/8932.
This commit is contained in:
Marc Wrobel
2025-11-16 11:56:47 +01:00
committed by GitHub
parent bca26bf3b2
commit d99261ea1b
3 changed files with 35 additions and 50 deletions

View File

@@ -2,78 +2,39 @@
"releases": {
"6.1": {
"name": "6.1",
"releaseDate": "2025-10-31",
"releaseDate": "2025-10-13",
"eoas": "2026-04-30",
"eol": "2026-10-31"
},
"6.0": {
"name": "6.0",
"releaseDate": "2025-06-10",
"eoas": "2025-10-31",
"eol": "2026-04-30"
"eoas": "2025-10-13",
"eol": "2026-04-14"
},
"5.4": {
"name": "5.4",
"releaseDate": "2025-04-10",
"eoas": "2026-04-30"
"eoas": "2026-04-11",
"eol": "2027-04-30"
},
"5.3": {
"name": "5.3",
"releaseDate": "2024-11-04",
"eoas": "2025-04-30",
"eol": "2025-10-31"
"eoas": "2025-04-10",
"eol": "2025-10-11"
},
"5.2": {
"name": "5.2",
"releaseDate": "2024-04-15",
"eoas": "2024-11-30",
"eol": "2025-05-31"
},
"5.1": {
"name": "5.1",
"releaseDate": "2023-10-17"
},
"5.0": {
"name": "5.0",
"releaseDate": "2023-05-08"
"eoas": "2024-11-04",
"eol": "2025-05-05"
},
"4.13": {
"name": "4.13",
"releaseDate": "2023-04-26",
"eoas": "2024-04-30",
"eol": "2025-06-30"
},
"4.12": {
"name": "4.12",
"releaseDate": "2022-12-19"
},
"4.11": {
"name": "4.11",
"releaseDate": "2022-06-28"
},
"4.10": {
"name": "4.10",
"releaseDate": "2022-01-27"
},
"3.7": {
"name": "3.7",
"releaseDate": "2018-06-08"
},
"3.1": {
"name": "3.1",
"releaseDate": "2013-10-01"
},
"3.0": {
"name": "3.0",
"releaseDate": "2012-06-28"
},
"2.4": {
"name": "2.4",
"releaseDate": "2011-02-02"
},
"2.3": {
"name": "2.3",
"releaseDate": "2009-02-23"
"eoas": "2024-04-27",
"eol": "2025-06-10"
}
},
"versions": {

View File

@@ -356,6 +356,10 @@
"5.04": {
"name": "5.04",
"date": "2005-04-08"
},
"4.10": {
"name": "4.10",
"date": "2004-10-20"
}
}
}

20
src/silverstripe.py Normal file
View File

@@ -0,0 +1,20 @@
from common import dates, http
from common.releasedata import ProductData, config_from_argv
"""Fetches Silverstripe releases from https://www.silverstripe.org/software/roadmap/ JSON data."""
config = config_from_argv()
with ProductData(config.product) as product_data:
json = http.fetch_json(config.url)
for release_data in json["data"]:
release_name = release_data["version"]
release = product_data.get_release(release_name)
release_date_str = release_data.get("releaseDate")
release.set_release_date(dates.parse_date_or_month_year_date(release_date_str))
eoas_date_str = release_data.get("partialSupport")
release.set_eoas(dates.parse_date_or_month_year_date(eoas_date_str))
eol_date_str = release_data.get("supportEnds")
release.set_eol(dates.parse_date_or_month_year_date(eol_date_str))