Commit Graph

267 Commits

Author SHA1 Message Date
Marc Wrobel
1e8a84ec77 [apple] Add back web.archive.org links (#190)
The issue was with couchbase, for which the webarchive.org link is now dead.
2023-11-26 14:18:33 +01:00
Marc Wrobel
79f7e13dd9 [cos] Make HTTP requests in parallel (#187)
Its cuts the script execution time roughly by two during my tests.
2023-11-26 14:00:42 +01:00
Marc Wrobel
7907243967 [apple] Make HTTP requests in parallel (#185)
Use the new endoflife.fetch_urls to fetch URLs. This is a bit more efficient, especially when network is slow.

Also update the way rows without a proper date format are excluded by checking the format first. I don't know why, but this fixed a bit the script, as now the 6.2.1 is properly retrieved and parsed.
2023-11-26 13:59:22 +01:00
Marc Wrobel
7b90c02f62 Try to fix fetch_urls when ChunkedEncodingError occurs (#188) 2023-11-26 13:58:27 +01:00
Hugo van Kemenade
1022d8f816 Fix some lint warnings (#189)
Remove unused imports or variable, and apply suggestions from https://adamj.eu/tech/2019/09/12/how-i-import-pythons-datetime-module/.
2023-11-26 13:25:04 +01:00
Marc Wrobel
f59390815c Try to fix fetch_urls when ChunkedEncodingError occurs (#188)
Intermittent ChunkedEncodingErrors occurs while fetching URLs. This change try to fix it by retrying.
According to https://stackoverflow.com/a/44511691/374236, most servers transmit all data, but that's not what was observed.

For future reference the traceback was:

```
  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/home/runner/work/release-data/release-data/src/firefox.py", line 36, in <module>
      for response in endoflife.fetch_urls(urls):
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/runner/work/release-data/release-data/src/common/endoflife.py", line 55, in fetch_urls
      return [future.result() for future in as_completed(futures)]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/runner/work/release-data/release-data/src/common/endoflife.py", line 55, in <listcomp>
      return [future.result() for future in as_completed(futures)]
              ^^^^^^^^^^^^^^^
    File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/concurrent/futures/_base.py", line 449, in result
      return self.__get_result()
             ^^^^^^^^^^^^^^^^^^^
    File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
      raise self._exception
    File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/concurrent/futures/thread.py", line 58, in run
      result = self.fn(*self.args, **self.kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
      resp = self.send(prep, **send_kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/requests/sessions.py", line 747, in send
      r.content
    File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/requests/models.py", line 899, in content
      self._content = b"".join(self.iter_content(CONTENT_CHUNK_SIZE)) or b""
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/opt/hostedtoolcache/Python/3.11.6/x64/lib/python3.11/site-packages/requests/models.py", line 818, in generate
      raise ChunkedEncodingError(e)
  requests.exceptions.ChunkedEncodingError: ("Connection broken: InvalidChunkLength(got length b'', 0 bytes read)", InvalidChunkLength(got length b'', 0 bytes read))
```
2023-11-26 13:23:17 +01:00
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