Commit Graph

261 Commits

Author SHA1 Message Date
Marc Wrobel
8f459f2bc3 Update to support new auto structure (#298)
See https://github.com/endoflife-date/endoflife.date/pull/4570.
2024-02-07 23:27:57 +01:00
Marc Wrobel
4bd2c3dfb8 Process product in alphabetic order for a given method (#296) 2024-02-04 18:14:48 +01:00
Marc Wrobel
dc3f4e0653 [firefox][unity] Add support for cumulative updates and use it in a few scripts (#295)
Generic support for cumulative updates has been added to speed up execution time of some scripts that were very long (in comparison with the vast majority of products), usually because they were involving a lot of HTTP requests.

This feature was developed particularily for the firefox.py and unity.py scripts, which was often very long to execute (a minute or moreaccording to GHA summaries). Those scripts has been updated to make use of this new feature.
2024-02-04 18:05:18 +01:00
Marc Wrobel
0e0e227875 Order scripts by execution duration in GHA summary (#293) 2024-02-04 15:02:08 +01:00
Marc Wrobel
56cc29b49d Make releasedata.Product usable in 'with' expression (#294)
This way the writing of the JSON file is handled automatically if the update does not fail.
It pave the way to further global improvements, such as a better error handling.
2024-02-04 14:48:05 +01:00
Marc Wrobel
8f6efad2cc Simplify endoflife.list_products usage (#292)
Make endoflife.list_products return product instead of just the product name, to avoid having to reload the product a second time to get more information.
2024-02-03 00:26:23 +01:00
Marc Wrobel
651666f594 Remove releasedata.py's Product.has_version method
This method is hardly used, so using Product.get_version instead is a better choice.
2024-01-29 22:38:54 +01:00
Marc Wrobel
42165ea287 Preserve all version fields (#286)
Up to now extra version fields were ignored: only name and date fields were accepted. This changes that by retaining the full JSON data when reading the file, making it possible in the future to support custom fields.

This also fixes a bug with versions having released on the same date: they was not ordered as expected (reverse order).
2024-01-28 23:46:41 +01:00
Marc Wrobel
4bc535aabb [graalvm] Fix script
Tabled moved from the 2nd to the 3rd position. Updating the script so it is more resilient.
2024-01-28 23:07:49 +01:00
Marc Wrobel
d8628e8cdf [ibm-aix] Stop fetching version from web.archive.org (#285)
Disabled because it causes too many timeouts / errors, see https://github.com/endoflife-date/release-data/actions/runs/7630234550 or https://github.com/endoflife-date/release-data/actions/runs/7636410022.
2024-01-24 23:39:15 +01:00
Marc Wrobel
7747e4b24f [firefox] Fix script (#284)
- batch HTTP URL fetching by 20 to reduce the number of unnecessary retries,
- search for c-release-date directly.
2024-01-24 23:38:35 +01:00
Marc Wrobel
d72008ae9c Update user-agent (#283)
Update user-agent to the latest Firefox ESR.
2024-01-24 22:58:56 +01:00
Marc Wrobel
f061c504bc [veeam-backup-and-replication] Add automation (#280)
Relates to https://github.com/endoflife-date/endoflife.date/pull/4418.
2024-01-24 22:50:03 +01:00
Marc Wrobel
1221872660 Support exclusions in auto configurations (#282)
Support a new regex_exclude option to describe versions that must be excluded from the list of retrieved versions.

This will be useful for products such as KDE Plasma, for which beta releases are designated by the use of minor or patch version >= 80.
2024-01-20 18:27:57 +01:00
Marc Wrobel
6c23968d7d [artifactory] Disable script
artifactory.py is failing since https://github.com/endoflife-date/release-data/actions/runs/7447593048. The fix does not seem trivial, so it must be disabled for now to not hide issues in other scripts.
2024-01-14 21:55:37 +01:00
Marc Wrobel
b339c81ead Split endoflife.date and releasedata models in separate files (#276)
This makes the code easier to read.
2024-01-07 20:22:46 +01:00
Marc Wrobel
d01d8ed04b Simplify product listing (#275)
Small refactoring to simplify product listing by reusing ProductFrontmatter.
2024-01-07 16:50:27 +01:00
Marc Wrobel
74678a75c3 Update release-data JSON file format (#274)
This makes the format open for extension, such as adding release cycle level data (such as EOL dates).

Version data is still accessible by the version's name. While this repeats the version name, it's also much more convenient for users of those data.

A few other things have also been updated in the process:

- verbosity of the diff has been increased in update.py to make workflow summaries more readable,
- dates without timezone are now set to UTC by default (this was already supposed, so no impact expected here).
2024-01-02 11:42:10 +01:00
Marc Wrobel
f6a8349c46 Centralize GitHub Workflow groups declaration (#272)
It may not be the best place for that (gha.py would have been better), but it's the shorter / faster way to do it for now.

Moreover it now uses logging for writing the group. The logger format has been updated for this to work. This was done to fix issues on GitHub Action logs, where groups were declared after the logs.
2023-12-31 17:00:11 +01:00
Marc Wrobel
7a97c87b3b Refactor latest.py and update.py (#270)
- create new gha.py module,
- improve GitHub workflow commands (GITHUB_OUTPUT, GITHUB_STEP_SUMMARY) interactions,
- improve logging,
- split update.py into smaller functions.
2023-12-31 00:45:30 +01:00
Marc Wrobel
47e29992ae Enable flake8-use-pathlib linting rules (#267)
See https://docs.astral.sh/ruff/rules/#flake8-use-pathlib-pth.
2023-12-30 14:29:24 +01:00
Marc Wrobel
7458563fec Enable flake8-simplify linting rules (#267)
See https://docs.astral.sh/ruff/rules/#flake8-simplify-sim.
2023-12-30 14:29:24 +01:00
Marc Wrobel
801859d78a Enable flake8-return linting rules (#267)
See https://docs.astral.sh/ruff/rules/#flake8-raise-rse.
2023-12-30 14:29:24 +01:00
Marc Wrobel
298ad1a754 Enable flake8-errmsg linting rules (#267)
See https://docs.astral.sh/ruff/rules/#flake8-errmsg-em.
2023-12-30 14:29:24 +01:00
Marc Wrobel
798c298c59 Enable flake8-datetimez linting rules (#267)
See https://docs.astral.sh/ruff/rules/#flake8-datetimez-dtz.
2023-12-30 14:29:24 +01:00
Marc Wrobel
54e7091fd2 Enable flake8-comprehensions linting rules (#267)
See https://docs.astral.sh/ruff/rules/#flake8-comprehensions-c4.
2023-12-30 14:29:24 +01:00
Marc Wrobel
1bb97fe2b4 Enable flake8-commas linting rules (#267)
See https://docs.astral.sh/ruff/rules/#flake8-commas-com.
2023-12-30 14:29:24 +01:00
Marc Wrobel
b32cb09494 Fix a few Intellij IDEA warnings 2023-12-30 14:29:24 +01:00
Marc Wrobel
f49e3dff15 Enable flake8-annotations linting rules (#267)
See https://docs.astral.sh/ruff/rules/#flake8-annotations-ann.
2023-12-30 14:29:24 +01:00
Marc Wrobel
0e8fe135e4 Enable flake8-bugbear linting rules (#267)
See https://docs.astral.sh/ruff/rules/#flake8-bugbear-b.
2023-12-30 14:29:24 +01:00
Marc Wrobel
6002cbdb26 Enable isort linting rules (#267)
See https://docs.astral.sh/ruff/rules/#isort-i.
2023-12-30 14:29:24 +01:00
Marc Wrobel
1add3a71d1 Minor refactoring (#262)
- Move frontmatter-related operation from Product to ProductFrontmatter. This makes more senses, as we are manipulating different files / kind of data.
- Use Product directly to load old versions.
2023-12-26 17:33:45 +01:00
Marc Wrobel
c9aca50729 Drop regexes lib (#258)
This was needed until #227 as the Ruby script did not support multiple regexes.

Now that all regexes has been split / simplified in https://github.com/endoflife-date/endoflife.date/pull/4317 and https://github.com/endoflife-date/endoflife.date/pull/4383 the regexes lib is not needed anymore.
2023-12-26 17:33:05 +01:00
Marc Wrobel
a6eebd1dc1 [aws-lambda] Improve script (#259)
- make the script more resilient to changes in the page by using column names,
- use the product release releaseDate as the date, else the date the version was first found, else the current date (previously the date the version was first found was not used),
- move some code to the Product class.
2023-12-18 00:02:38 +01:00
Marc Wrobel
55594cd1df [npm] Use 'versions' entry instead of 'time' to list versions (#256)
The time may contains unreleased versions, such as 1.3.36 (angularjs).
2023-12-16 14:24:31 +01:00
Marc Wrobel
6453bca256 Remove unused write_releases method
This method is unused now that all scripts are using the Product class.
2023-12-15 14:19:30 +01:00
Marc Wrobel
d596f3e717 [visualstudio] Refactor script (#253)
Make the script more readable, mostly by:

- using the Product class,
- a little bit of renaming and documentation.
2023-12-15 13:10:23 +01:00
Marc Wrobel
0becabcb86 [unrealircd] Refactor script (#252)
Make the script more readable, mostly by:

- using the Product class,
- a little bit of renaming and documentation.
2023-12-12 07:50:31 +01:00
Marc Wrobel
83792e03a5 [unity] Refactor script (#251)
Make the script more readable, mostly by:

- using the Product class,
- removing the use of functions when unnecessary,
- a little bit of renaming and documentation.
2023-12-12 07:45:22 +01:00
Marc Wrobel
d8575d7e08 [typo3] Refactor script (#250)
Make the script more readable, mostly by:

- using the Product class,
- a little bit of renaming and documentation.
2023-12-12 07:45:05 +01:00
Marc Wrobel
56591af370 [splunk] Refactor script (#249)
Make the script more readable, mostly by:

- using the Product class,
- a little bit of renaming and documentation.
2023-12-12 07:42:28 +01:00
Marc Wrobel
d49923887c [ros] Refactor script (#247)
Make the script more readable, mostly by:

- using the Product class,
- a little bit of renaming and documentation.
2023-12-12 07:42:11 +01:00
Marc Wrobel
4dec3ceca2 [sles] Refactor script (#248)
Make the script more readable, mostly by:

- using the Product class,
- removing the use of functions when unnecessary,
- a little bit of renaming and documentation.
2023-12-12 07:42:03 +01:00
Marc Wrobel
edc825a5f1 [rockylinux] Refactor script (#246)
Make the script more readable, mostly by:

- using the Product class,
- a little bit of renaming and documentation,
- removing the use of functions when unnecessary.
2023-12-12 07:41:49 +01:00
Marc Wrobel
6c5c84206e [rhel] Refactor script (#245)
Make the script more readable, mostly by:

- using the Product class,
- a little bit of renaming and documentation.
2023-12-12 07:41:30 +01:00
Marc Wrobel
9e00044446 [redhat-satellite] Refactor script (#244)
Make the script more readable, mostly by:

- using the Product class,
- a little bit of renaming and documentation.
2023-12-12 07:41:19 +01:00
Marc Wrobel
d704e5f1f6 [rds] Refactor script (#242)
Make the script more readable, mostly by:

- using the Product class,
- a little bit of renaming and documentation.
2023-12-12 07:40:55 +01:00
Marc Wrobel
6d922a8e9c [red-hat-openshift] Refactor script (#243)
Make the script more readable, mostly by:

- using the Product class,
- a little bit of renaming and documentation,
- removing the use of functions when unnecessary.
2023-12-11 22:44:04 +01:00
Marc Wrobel
b6072e3ef3 [plesk] Refactor script (#241)
Make the script more readable, mostly by:

- using the Product class,
- removing the use of functions when unnecessary,
- a little bit of renaming and documentation.
2023-12-11 22:21:37 +01:00
Marc Wrobel
c54f71b6b6 [pypi] Refactor script (#240)
Make the script more readable, mostly by:

- using the Product and AutoConfig classes,
- removing the use of functions when unnecessary,
- a little bit of renaming and documentation.

This script also now support custom template.
2023-12-11 22:21:27 +01:00