Commit Graph

84 Commits

Author SHA1 Message Date
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
Nemo
eb630320bd [sles] Remove SP in SLES 2023-06-08 13:29:50 +05:30
Nemo
edcf2268f7 [sles] Use dots in version numbers 2023-06-08 06:38:29 +00:00
Piotr Juszczyk
2ca0afdca0 [SLES] Add SLES version scraper (#103) 2023-06-08 06:27:29 +00:00
Marc Wrobel
7c9f3f5146 [linuxkernel] Use git.kernel.org tags page to retrieve versions (closes #94)
Automation for the Linux Kernel was based on the mirror https://github.com/gregkh/linux, which is updated infrequently. The reason for that is documented on 2ecd6ee9df (e.g. we need the git repository to support partial clone).

Using https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/refs/tags allows us to retrieve new versions much quicker.
2023-05-04 13:05:08 +00:00
Nemo
6ec64a5c8d [cos] Workaround for broken table for cos-105 2023-04-28 07:36:14 +00:00
Nemo
b85e8650e0 [php] Fix sorting 2023-04-18 18:36:03 +05:30
Nemo
81b5c4d122 [php] Switches to a custom PHP automation
This uses the PHP releases API. Limitations:

1. New Major versions will needed to be added manually

The src for the API is at https://github.com/php/web-php/blob/master/releases/index.php
The data comes from https://github.com/php/web-php/blob/master/include/releases.inc

This commit keeps the old sort method for a cleaner diff. Next commits
in this PR will fix the sorting to be standardized.

The difference from using tags is:

1. One additional version shows up (4.0.4) which we'd missed previously
   due to being tagged as php-4.0.4REL.
2. Slightly more accurate dates.
2023-04-18 18:36:03 +05:30
Martin Petkov
267cf16568 Automatically find COS milestones in the web page (#89) 2023-04-04 18:17:23 +00:00
Coda Bool
4dcdad39e0 [rds] Adds automation (#86)
This is a Python rewrite of the code at #83.

Co-authored-by: Nemo <commits@captnemo.in>
Co-authored-by: Marc Wrobel <marc.wrobel@gmail.com>
2023-03-30 18:15:16 +02:00
Nemo
819dba26dd [apple] Fix regex to exclude non-macos releases
This also drops 11.0 and 12.0, which is okay since the dates
we have are technically for 11.0.1 and 12.0.1 anyway.
2023-03-16 17:24:35 +05:30
Marc Wrobel
adb7cbfdeb [github_releases] Add automation (closes #34)
This script is using the GitHub CLI with the GraphQL API in order to retrieve releases. The reasons are:

- using 'gh release list' does not return all the releases
- using the API, directly or via GitHub CLI, is slow, produces a lot of 502 errors, and is harder due to pagination.
- using the GraphQL API directly is hard due to pagination.
- using a library, such as graphql-python, is sightly harder than using the GitHub CLI (and still requires a GITHUB_TOKEN).

Access to the GitHub token is required when using GitHub CLI, hence the update.yml workflow update.
2023-03-03 09:24:02 +01:00
Alexey Yuzhakov
c0b1cee8cb [plesk] Add automation (closes #79)
Only 18.0.20.3 and later are picked up :
- format of the title for 18.0.20 and 18.0.19 are different,
- there is not entry for GA of versions 18.0.18 and older.

Co-authored-by: Marc Wrobel <marc.wrobel@gmail.com>
2023-02-22 20:41:39 +01:00
Robin Laurén
aed62e8f5e [apple] Fix regex for macOS Sierra and beyond (fixes #76)
Apple changed the format or made a mistake for MacOS Ventura 13.2 : it is labeled 'MacOS 13.2.1' on https://support.apple.com/en-us/HT201222.
2023-02-17 21:00:56 +01:00
Marc Wrobel
803a8be040 Improve and fix haproxy.py
- Get cycles URL by parsing https://www.haproxy.org/download/:
  - This way the script does not have to be updated each time a new minor version is released.
  - The old algorithm was missing some versions (such as 1.6.x).
- Use a GitHub actions log group to wrap the script logs.
- Display version like the other scripts.
2023-01-13 11:02:32 +01:00
Marc Wrobel
3d16eeb5e2 [maven] Retry on timeout 2023-01-13 10:47:54 +01:00
Marc Wrobel
569f3a402c [maven] Sort versions by date then version 2023-01-11 16:54:26 +00:00
Marc Wrobel
7c047202b3 [firefox] Retry on timeout 2023-01-08 14:36:21 +01:00
Benji Visser
f9597f55d7 [firefox] Add automation (#67)
Signed-off-by: Benji Visser <benji@093b.org>
2023-01-08 12:43:43 +01:00
Marc Wrobel
9197848310 [java] Sort versions by date then version 2023-01-08 12:33:15 +01:00
Marc Wrobel
a0d1701b23 [debian] Sort versions by date then version
I also took the opportunity to fix the logs.
2023-01-08 12:25:39 +01:00
Marc Wrobel
29c3f752f5 [java] Fix java.py (closes #65) 2023-01-05 10:22:59 +01:00
Marc Wrobel
082b165d5d Add Java automation
Fetch Java versions with their dates from https://www.java.com/releases/.

This script is using a new dependency: requests-html (https://requests-html.kennethreitz.org/). This is because https://www.java.com/releases/ needs JavaScript to render correctly. And for this to work requests-html automatically downloads Chromium because of its dependency to pyppeteer.

Chromium is downloaded into PYPPETEER_HOME, so the workflow has been modified to set this directory as a subdirectory of ~/.cache. Note that declaring the same environment variable from the python script does not work.
2023-01-03 18:23:19 +01:00
Marc Wrobel
1e45de3c58 [macOS] Accept all kind of spaces in regexes (fixes #47)
There were two issues with the macOS regexes:

- The regexex accepted only spaces separator. But non-breakable spaces are also used from time to time. Replacing spaces by \s fixed the issue (other product regexes were also updated - never know).
- The first regex, the one that accepted major releases with no minor version, were not useful (covered by the second regex) and partly catched valid versions (such as 13.1), who was then ignored. I removed it.
2022-12-20 15:25:55 +05:30
Marc Wrobel
634e8668d3 [debian] Add releaseDate for major releases (fixes #49)
Unfortunately major releases cannot be parse like point releases.
2022-12-20 08:30:54 +01:00
Marc Wrobel
91dac82e02 Add Debian automation (closes #42)
Use www.debian.org source repository to fetch versions.
2022-12-19 12:40:32 +01:00
Nemo
b5cc28f87e [cos] Retry requests on failure
Google Docs website returns a lot of SSL errors, so retry
2022-12-17 16:25:25 +05:30
Nemo
4670ff7336 [maven] Updates to maven automation
1. Drop RC and milestone releases by adopting a simple
   version regex. Drops a few non-stable releases from
   jreleaser and tomcat. Tested against all of the maven
   automated pages

2. Fix pages with multiple auto: maven entries. In particular,
   groovy was using this, but the newer 4.0 releases were not
   being written correctly to disk.
2022-12-17 16:19:24 +05:30