Commit Graph

261 Commits

Author SHA1 Message Date
Marc Wrobel
ca689dc373 Support parallel URL fetching via endoflife.fetch_urls (#184)
Move the parallel URL fetching from firefox.py to endoflife.py to make available parallel URL fetching for all scripts.

Also a a fix found on https://stackoverflow.com/a/44511691/374236 to avoid ChunkedEncodingError.
2023-11-26 11:34:18 +01:00
Marc Wrobel
deb5d9f1a2 [firefox] Simplify script
- use requests_futures instead of managing concurrency manually,
- drop retrieval of versions < 10.0 to not make the parsing too complex.
2023-11-25 12:05:19 +01:00
Marc Wrobel
f0324372d9 Use request instead of urllib for HTTP requests
It's simpler to use, and provides better retry capabilities.
2023-11-25 00:08:47 +01:00
Marc Wrobel
6023ccc257 [aws-lambda] Fix script
Returning a default date far in the future makes the latest.py script fail.
2023-11-24 22:26:32 +01:00
Marc Wrobel
2e83befe93 [aws-lambda] Add automation (#166)
The purpose of this new script is to be alerted of new runtimes, while not making updates to the original product file (because release dates cannot be fetched from AWS documentation).
2023-11-23 22:02:51 +01:00
Marc Wrobel
600e77e212 Sort versions by date then version for all products (#179) 2023-11-15 22:30:31 +01:00
Marc Wrobel
85953a9e97 [rockylinux] Fix date parsing 2023-11-15 22:02:26 +01:00
Marc Wrobel
701c2899d5 [git] Migrate git method from Ruby to Python (#178)
The main reason for doing this is to have some common code between scripts, so that it is easier to change the JSON schema globally and normalize a few things (such as release order).

The Ruby code was kept as is so we can quickly roll back if necessary.
2023-11-12 20:33:29 +01:00
Marc Wrobel
34f238320a [couchbase] Inject 6.6.0 release date
Disabling https://web.archive.org/web/20230519160357/https://docs.couchbase.com/server/ triggered an unwanted update on 6.6 release date: https://github.com/endoflife-date/endoflife.date/pull/4055/files.
2023-11-08 22:38:47 +01:00
Marc Wrobel
6f375c47ba Disable web.archive.org links
They cause too much timeout lately, and the main purpose of those script is to get new releases anyway.
2023-11-08 00:01:50 +01:00
Marc Wrobel
559b008fd8 [nutanix] Add automation (#165)
Nutanix products versions are retreived from https://portal.nutanix.com/api/v1.
2023-10-28 16:13:38 +02:00
Marc Wrobel
045f90ceb2 [artifactory] Fix 7.29.9 release date
7.29.9 release date is wrong on https://jfrog.com/help/r/jfrog-release-information/artifactory-end-of-life.
Sent a mail to jfrog-help-center-feedback@jfrog.com to fix it, but in the meantime...

Relates to https://github.com/endoflife-date/endoflife.date/issues/3960.
2023-10-28 12:23:04 +02:00
Marc Wrobel
bc15953ee2 Rename java to oracle-jdk (#163)
Following https://github.com/endoflife-date/endoflife.date/pull/3332.
2023-10-19 08:12:29 +02:00
Marc Wrobel
73c7daa0e0 Move docker_hub.py to src/ 2023-10-15 21:42:03 +02:00
Marc Wrobel
c6a7c4969d [looker] Add release automation (#161)
Fetch Looker versions with their dates from the Google Cloud release notes RSS feed: https://cloud.google.com/feeds/looker-release-notes.xml.

Only version above 23.0 are retrieved, as prior version were not announced in the Google Cloud release notes.
2023-10-07 19:13:55 +02:00
Marc Wrobel
fbb350aacc [jira] Add release automation 2023-10-07 11:47:02 +02:00
Marc Wrobel
f74a12a855 [confluence] Add release automation 2023-10-07 11:46:51 +02:00
Marc Wrobel
36d046d00c [unity] Add automation for LTS releases
Fetches the Unity LTS releases from the Unity website. Non-LTS releases are not listed there,
so this automation is only partial.
2023-09-23 22:21:19 +02:00
Marc Wrobel
a8821d97eb [typo3] Add release automation
Using tags misses all ELTS releases, which are relevant for ELTS-only release cycles.

Important changes:

- very old v3 and v4 releases completely dropped except for 3.3.0, and 3.5.0.
- We track only as far back as v7, so dropping v4 and earlier should be fine.
- 7.0.1 and 9.3.2 are missing, which is okay because both are superseded.

Fixes #92.
2023-09-23 20:02:18 +02:00
Marc Wrobel
abbdeb7eff [rds] Fix version parsing 2023-09-21 23:34:45 +02:00
Marc Wrobel
191f1d10a1 [eks] Update web.archive.org links 2023-09-11 23:00:51 +02:00
Marc Wrobel
86f1f1386a [cos] Fix date parsing 2023-09-11 23:00:51 +02:00
Marc Wrobel
94e04f3b4f Increase the default timeout value
Recently links to web.archive.org were added for various products. Such links are very long to load. This increases the default timeout value so that such links do not make the update fail.
2023-09-11 23:00:51 +02:00
Marc Wrobel
42e511317d Add docker_hub method
Will replace Ruby-implemented dockerhub method (only used by Amazon Linux at the moment.
2023-08-11 22:08:22 +02:00
Marc Wrobel
3c3ec29342 [graalvm] Add automation
GraalVM for JDK versions has to be prefixed as their release cycle collide with older GraalVM release cycles.
Example: GraalVM for JDK 20 and 20.0 (will be the same with JDK 21 and 22).
2023-08-11 21:58:28 +02:00
Nemo
56a09215fc [rockylinux] Add release automation
Closes #109.

The diff is fairly normal, with a slight
shift of dates, which is acceptable.

```diff
-json["8.5"] = "2021-11-16";
-json["8.6"] = "2022-05-17";
-json["8.7"] = "2022-11-16";
+json["8.5"] = "2021-11-15";
+json["8.6"] = "2022-05-15";
+json["8.7"] = "2022-11-11";
+json["8.8"] = "2023-05-20";
-json["9.1"] = "2022-11-28";
+json["9.1"] = "2022-11-26";
```
2023-08-11 21:48:05 +02:00
Nemo
11a4f2109f [apple] Fix slight html change 2023-08-11 11:27:58 +05:30
Marc Wrobel
bbce5c5ee4 [sles] Fix script
Ignore versions with invalid date format, such as 'mid-2024'.
2023-08-08 22:42:27 +02:00
Daniel
e715107e84 [splunk] Add automation (#128)
Co-authored-by: Marc Wrobel <marc.wrobel@gmail.com>
2023-08-02 22:01:00 +02:00
Marc Wrobel
4aa7047fe1 Increase default retry count and timeout for python scripts
Frequent 'update data' workflow failures were observed lately, some due to timeout while fetching URLs.
2023-08-01 22:46:56 +02:00
Daniel
94d7204df1 [apache] add automation script (#122)
Co-authored-by: Marc Wrobel <marc.wrobel@gmail.com>
2023-07-26 04:34:31 +00:00
Marc Wrobel
2f0f97fce1 [artifactory] Increase sleep timeout and scrolldown count (closes #124)
Releases were deleted a few times, hopefully this will make things better.
2023-07-25 14:03:24 +05:30
Nemo
0b1bd8f448 [firefox] Handle 404.
The 115.0.3 release seems to have been halted
https://wiki.mozilla.org/Firefox/Channels/Meetings/2023-07-18#Schedule_Update
so the page is "semi-published". It is linked on the release list page
https://www.mozilla.org/en-US/firefox/releases/
but the page itself gives a 404.

So we ignore any such unpublished releases for now
2023-07-19 15:40:19 +05:30
Daniel
897d514e7f Add red-hat-openshift script (#119)
The script only get versions 4.x and above, see script comments for more informations.

Note that the code related to git has been extracted to a common script so that it can be reused for the Debian script.
2023-07-15 18:26:11 +02:00
Nemo
2dc21b52c5 [apple] Fix URLs for archived apple pages.
Apple is still linking to these, but they are now
404s. So we switch to the Web Archive links.
2023-07-12 16:37:02 +05:30
Marc Wrobel
8de23516da [artifactory] Add automation
Relates to https://github.com/endoflife-date/endoflife.date/pull/3105.
2023-07-09 22:15:51 +02:00
Marc Wrobel
6ec55909cf [amazon-neptune] Add automation
Relates to https://github.com/endoflife-date/endoflife.date/pull/3141.
2023-07-02 20:08:59 +02:00
Nemo
645dc68900 [eks] Use web archive to run against 1.19 and 1.20
AWS is no longer publishing the history on GitHub, so we
instead rely on older copies of the website to track the old
release dates. This is done at 2 cutoff points right now for
1.19 and 1.20.

Older releases are available on the web archive, but those
pages didn't include release dates so not helpful.
2023-06-28 00:10:37 +02:00
Marc Wrobel
d1b8e9601c [couchbase-server] Get dates from docs.couchbase.com
Couchbase server was using the dockerhub auto method, which is not reliable.
This new method is not perfect, but at least the dates are acceptable.
2023-06-27 23:37:19 +02:00
Marc Wrobel
a6239a6258 [sles] Normalize script 2023-06-25 23:21:01 +02:00
Marc Wrobel
ed2290189b [redhat-satellite] Add automation (closes #82) 2023-06-25 13:22:00 +02:00
Nemo
5d3658e00f [sles] Support 4 letter months.
This is same issue as on COS page, and we fix
it similarly (see cos.py)
2023-06-19 22:54:56 +05:30
Nemo
99d9449d3a Generalize linuxkernel to cgit (#97, #105)
Co-authored-by: Marc Wrobel <marc.wrobel@gmail.com>
2023-06-14 22:22:32 +02:00
Bartosz Pollok
87baafef65 [AIX] Add IBM AIX version scraper (#102)
Co-authored-by: bartekmp <bartekmp@outlook.com>
Co-authored-by: Marc Wrobel <marc.wrobel@gmail.com>
2023-06-12 08:09:31 +00:00
Nemo
f0348a60c7 [eks] Switch to HTML website
The GitHub source is getting retired
and will be archived soon, with no further updates.

This switches to the AWS docs website instead, parsing
the HTML directly.

https://aws.amazon.com/blogs/aws/retiring-the-aws-documentation-on-github/
2023-06-11 15:02:51 +02:00
Marc Wrobel
208ab8e2f8 Apply various minor refactorings
Improve readability and fix a few Python warnings (line too long, exception too broad...) through various minor refactorings.
2023-06-11 12:45:59 +02:00
Marc Wrobel
70f20da616 Refactor apple.py
Split the script into multiple functions to improve its readability.
2023-06-11 12:45:59 +02:00
Marc Wrobel
6ba7828f96 Refactor product releases writing
Create a common function to write resulting JSON files to the releases directory.
It makes this task simpler to read and maintain, while making it modifiable at a central point in the future.
One example of such modification could be the sorting of the versions in a uniform way for all the scripts.
2023-06-11 12:45:59 +02:00
Marc Wrobel
a16d9090d3 Refactor HTTP URL fetching scripts
This creates a common function to fetch HTTP URLs, with enhanced capabilities (retry, use of a known User-Agent).
It makes scripts that need those capabilities simpler, while improving other scripts.

This commit also fixes some scripts that did not log properly (cos.py, eks.py, haproxy.py, palo-alto-networks.py, rhel.py, ros.py, unrealircd.py).
2023-06-11 12:45:59 +02:00
Marc Wrobel
5176abd4d4 Refactor product filtering and loading for generic scripts
Generic scripts are scripts that handle multiple product based on some identifier (URL, coordinates...).
This creates a common function to list and load product configurations for those scripts.

It makes them simpler to read and maintain, while making the way they work much more consistent.
2023-06-11 12:45:59 +02:00