Skip to content

Commit

Permalink
Update auto structure (#4570)
Browse files Browse the repository at this point in the history
Move `auto` array under a new key (`auto.methods`) so other properties can be added in the future.

Must be merged together with endoflife-date/release-data#298.
  • Loading branch information
marcwrobel authored Feb 7, 2024
1 parent 3e0e52f commit 1312fab
Show file tree
Hide file tree
Showing 222 changed files with 763 additions and 548 deletions.
112 changes: 56 additions & 56 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,62 +215,62 @@ customColumns:
# The presence of such configuration enables a footer note on the product page
# informing users that the latest releases are automatically updated.
auto:

# Configuration for auto-update based on git.
# Any valid git clone URL will work, but support for partialClone is necessary
# (GitHub and GitLab support it).
# For example, for Apache Maven:
- git: https://github.com/apache/maven.git

# Python-compatible regex that defines how the tags above should translate to versions (optional).
# The default regex can handle versions having at least 2 digits (ex. 1.2) and at most 4 digits (ex. 1.2.3.4),
# with an optional leading "v"). Use named capturing groups to capture the version or version's parts.
# Default value should work for most releases of the form a.b, a.b.c or 'v'a.b.c. It should also
# skip over any special releases (such as nightly,beta,pre,rc...).
regex: ^v(?<major>\d+)_(?<minor>\d+)_(?<patch>\d{1,3})_?(?<tiny>\d+)?$

# Python-compatible regex that defines which tags should be excluded (optional).
regex_exclude: ^v99.99.99$

# A liquid template using the captured variables from the regex above that renders the final version
# (optional, default can handle versions having a 'major', 'minor', 'patch' and 'tiny' version).
# You can use liquid templating here.
template: '{{major}}.{{minor}}.{{patch}}{%if tiny %}p{{tiny}}{%endif%}'

# Configuration for auto-update based on Docker Hub.
# The value must be the "owner/repo" combination for a docker hub public image.
# Use "library" as the owner name for an official docker/community image.
# For example, for PostgreSQL:
- docker_hub: library/postgres

# Configuration for auto-update based on the npm registry.
# The value must be the package identifier on https://www.npmjs.com .
# For example, for Vue:
- npm: vue

# Configuration for auto-update based on DistroWatch.
# The value must be the distribution ID. It can be found in the distribution URL.
# For example, for https://distrowatch.com/index.php?distribution=debian , use "debian".
- distrowatch: debian

# The Python-compatible regex used to parse headlines (mandatory).
# Use named capturing groups to capture the version or version's parts.
# You can also pass a list of regexes here and matches for any of those will be considered.
regex: 'Distribution Release: (?P<version>\d+.\d+)'

# A liquid template using the captured variables from the regex above that renders the final version
# (optional, default can be found on https://github.com/endoflife-date/release-data/blob/main/src/distrowatch.py#L13 ).
# You can use liquid templating here.
template: '{{version}}'

# Configuration for auto-update based on Maven Central ( https://search.maven.org ).
# The value must be the maven coordinates of the artifact, in the form groupId/artifactId.
# For example, for Apache Tomcat ( https://search.maven.org/artifact/org.apache.tomcat/tomcat ):
- maven: org.apache.tomcat/tomcat

# Configuration for auto-update based on a custom script in the release-data repository.
# The value must always be `true`.
- custom: true
methods:
# Configuration for auto-update based on git.
# Any valid git clone URL will work, but support for partialClone is necessary
# (GitHub and GitLab support it).
# For example, for Apache Maven:
- git: https://github.com/apache/maven.git

# Python-compatible regex that defines how the tags above should translate to versions (optional).
# The default regex can handle versions having at least 2 digits (ex. 1.2) and at most 4 digits (ex. 1.2.3.4),
# with an optional leading "v"). Use named capturing groups to capture the version or version's parts.
# Default value should work for most releases of the form a.b, a.b.c or 'v'a.b.c. It should also
# skip over any special releases (such as nightly,beta,pre,rc...).
regex: ^v(?<major>\d+)_(?<minor>\d+)_(?<patch>\d{1,3})_?(?<tiny>\d+)?$

# Python-compatible regex that defines which tags should be excluded (optional).
regex_exclude: ^v99.99.99$

# A liquid template using the captured variables from the regex above that renders the final version
# (optional, default can handle versions having a 'major', 'minor', 'patch' and 'tiny' version).
# You can use liquid templating here.
template: '{{major}}.{{minor}}.{{patch}}{%if tiny %}p{{tiny}}{%endif%}'

# Configuration for auto-update based on Docker Hub.
# The value must be the "owner/repo" combination for a docker hub public image.
# Use "library" as the owner name for an official docker/community image.
# For example, for PostgreSQL:
- docker_hub: library/postgres

# Configuration for auto-update based on the npm registry.
# The value must be the package identifier on https://www.npmjs.com .
# For example, for Vue:
- npm: vue

# Configuration for auto-update based on DistroWatch.
# The value must be the distribution ID. It can be found in the distribution URL.
# For example, for https://distrowatch.com/index.php?distribution=debian , use "debian".
- distrowatch: debian

# The Python-compatible regex used to parse headlines (mandatory).
# Use named capturing groups to capture the version or version's parts.
# You can also pass a list of regexes here and matches for any of those will be considered.
regex: 'Distribution Release: (?P<version>\d+.\d+)'

# A liquid template using the captured variables from the regex above that renders the final version
# (optional, default can be found on https://github.com/endoflife-date/release-data/blob/main/src/distrowatch.py#L13 ).
# You can use liquid templating here.
template: '{{version}}'

# Configuration for auto-update based on Maven Central ( https://search.maven.org ).
# The value must be the maven coordinates of the artifact, in the form groupId/artifactId.
# For example, for Apache Tomcat ( https://search.maven.org/artifact/org.apache.tomcat/tomcat ):
- maven: org.apache.tomcat/tomcat

# Configuration for auto-update based on a custom script in the release-data repository.
# The value must always be `true`.
- custom: true

# A list of identifiers that can be used to detect this product as being used,
# especially by SBOM tooling
Expand Down
2 changes: 1 addition & 1 deletion _layouts/product-list.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ <h2>

<time datetime="{{ product.last_modified_at | date_to_xmlschema }}" class="fw-300">
📅 Last updated on {{ product.last_modified_at | date_to_long_string }}
{%- if product.auto and product.auto.size != 0 %}
{%- if product.auto and product.auto.methods %}
<span title="Latest releases on this product are automatically updated.">🤖</span>
{%- endif %}
</time>
Expand Down
2 changes: 1 addition & 1 deletion _layouts/product.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ <h1>{{ page.title }}</h1>

<time datetime="{{ page.last_modified_at | date_to_xmlschema }}" class="fw-300">
📅 Last updated on {{ page.last_modified_at | date_to_long_string }}
{%- if page.auto and page.auto.size != 0 %}
{%- if page.auto and page.auto.methods %}
<span title="Latest releases on this page are automatically updated.">🤖</span>
{%- endif %}
</time>
Expand Down
6 changes: 5 additions & 1 deletion _plugins/product-data-validator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -135,10 +135,14 @@ def self.validate(product)
error_if.is_not_a_number('discontinuedWarnThreshold')
error_if.is_not_a_boolean_nor_a_string('extendedSupportColumn')
error_if.is_not_a_number('extendedSupportWarnThreshold')
error_if.is_not_an_array('auto')
error_if.is_not_an_array('identifiers')
error_if.is_not_an_array('releases')

if product.data.has_key?('auto')
error_if = Validator.new(product, product.data['auto'])
error_if.is_not_an_array('methods')
end

product.data['customColumns'].each { |column|
error_if = Validator.new(product, column)
error_if.is_not_a_string('property')
Expand Down
3 changes: 2 additions & 1 deletion products/akeneo-pim.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ eolColumn: Support
eolWarnThreshold: 200 # march to september

auto:
- git: https://github.com/akeneo/pim-community-dev.git
methods:
- git: https://github.com/akeneo/pim-community-dev.git

# EOL dates are available at https://help.akeneo.com/en_US/akeneo-pim/akeneo-pim-product-support-dates
releases:
Expand Down
55 changes: 28 additions & 27 deletions products/alibaba-dragonwell.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,33 +32,34 @@ identifiers:
# There is one repository for each major LTS release.
# And yes, tagging at Alibaba is a mess !
auto:
- git: "https://github.com/dragonwell-project/dragonwell8.git"
regex: '^dragonwell-standard-(?P<version>[\d\.\+]+)_jdk.+-ga$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell8.git"
regex: '^dragonwell-(?P<version>[\d\.\+]+)_jdk.+-ga$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell8.git"
regex: '^dragonwell-(?P<version>[\d\.\+]+)-GA$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell8.git"
regex: '^v(?P<version>[\d\.\+]+)-GA$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell11.git"
regex: '^dragonwell-standard-(?P<version>[\d\.\+]+)_jdk.+-ga$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell11.git"
regex: '^dragonwell[-_](?P<version>[\d\.\+]+)_.+-ga$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell17.git"
regex: '^dragonwell-standard-(?P<version>17[\d\.\+]+)_jdk.+-ga$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell17.git"
regex: '^dragonwell-(?P<version>17[\d\.\+]+)_jdk.+-ga$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell17.git"
regex: '^jdk-(?P<version>17[\d\.\+]+)-ga$'
template: '{{version}}'
methods:
- git: "https://github.com/dragonwell-project/dragonwell8.git"
regex: '^dragonwell-standard-(?P<version>[\d\.\+]+)_jdk.+-ga$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell8.git"
regex: '^dragonwell-(?P<version>[\d\.\+]+)_jdk.+-ga$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell8.git"
regex: '^dragonwell-(?P<version>[\d\.\+]+)-GA$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell8.git"
regex: '^v(?P<version>[\d\.\+]+)-GA$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell11.git"
regex: '^dragonwell-standard-(?P<version>[\d\.\+]+)_jdk.+-ga$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell11.git"
regex: '^dragonwell[-_](?P<version>[\d\.\+]+)_.+-ga$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell17.git"
regex: '^dragonwell-standard-(?P<version>17[\d\.\+]+)_jdk.+-ga$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell17.git"
regex: '^dragonwell-(?P<version>17[\d\.\+]+)_jdk.+-ga$'
template: '{{version}}'
- git: "https://github.com/dragonwell-project/dragonwell17.git"
regex: '^jdk-(?P<version>17[\d\.\+]+)-ga$'
template: '{{version}}'

# Do not forget to update the "auto" configuration on each new major release.
# End of public updates available on https://github.com/dragonwell-project/dragonwell17/wiki/Alibaba-Dragonwell-Support
Expand Down
5 changes: 3 additions & 2 deletions products/almalinux.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ identifiers:
- cpe: cpe:2.3:o:almalinux:almalinux

auto:
- distrowatch: alma
regex: '^Distribution Release: AlmaLinux OS (?P<major>\d).(?P<minor>\d)$'
methods:
- distrowatch: alma
regex: '^Distribution Release: AlmaLinux OS (?P<major>\d).(?P<minor>\d)$'

releases:
- releaseCycle: "9"
Expand Down
5 changes: 3 additions & 2 deletions products/alpinelinux.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ identifiers:
- cpe: cpe:2.3:o:alpinelinux:alpine_linux

auto:
# upstream does not support filtering https://git.alpinelinux.org/aports
- git: https://github.com/alpinelinux/aports.git
methods:
# upstream does not support filtering https://git.alpinelinux.org/aports
- git: https://github.com/alpinelinux/aports.git

# eol see https://alpinelinux.org/releases/, estimation eol(x) = releaseDate(x) + 2 years
releases:
Expand Down
3 changes: 2 additions & 1 deletion products/amazon-cdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ changelogTemplate: https://github.com/aws/aws-cdk/releases/tag/v__LATEST__
releaseDateColumn: true

auto:
- git: https://github.com/aws/aws-cdk
methods:
- git: https://github.com/aws/aws-cdk

identifiers:
- repology: aws-cdk
Expand Down
49 changes: 25 additions & 24 deletions products/amazon-corretto.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,30 +14,31 @@ releaseDateColumn: true
# There is one repository for each major release (except for 15 and 16).
# Both tag and GitHub release dates are usually wrong, but GitHub release dates are closer to the correct date.
auto:
- github_releases: "corretto/corretto-jdk"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
- github_releases: "corretto/corretto-8"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
- github_releases: "corretto/corretto-11"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
- github_releases: "corretto/corretto-17"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
- github_releases: "corretto/corretto-18"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
- github_releases: "corretto/corretto-19"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
- github_releases: "corretto/corretto-20"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
- github_releases: "corretto/corretto-21"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
methods:
- github_releases: "corretto/corretto-jdk"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
- github_releases: "corretto/corretto-8"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
- github_releases: "corretto/corretto-11"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
- github_releases: "corretto/corretto-17"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
- github_releases: "corretto/corretto-18"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
- github_releases: "corretto/corretto-19"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
- github_releases: "corretto/corretto-20"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'
- github_releases: "corretto/corretto-21"
regex: '^(?P<version>[\d\.]+)$'
template: '{{version}}'

# Do not forget to update the "auto" configuration on each new major release.
# EOL dates can be found on https://aws.amazon.com/corretto/faqs/.
Expand Down
5 changes: 3 additions & 2 deletions products/amazon-linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@ identifiers:
- purl: pkg:docker/library/amazonlinux

auto:
- docker_hub: library/amazonlinux
methods:
- docker_hub: library/amazonlinux
# TODO: Fix this regex to exclude RC releases
regex: ^(?:\d+(\.\d+){2,4})$
regex: ^(?:\d+(\.\d+){2,4})$

releases:

Expand Down
6 changes: 4 additions & 2 deletions products/amazon-neptune.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@ versionCommand: >
--db-cluster-identifier your-neptune-db-identifier
--filters Name=engine,Values=neptune
releasePolicyLink: https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases.html
changelogTemplate: https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases-__LATEST__.html
changelogTemplate:
https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases-__LATEST__.html

auto:
- custom: true
methods:
- custom: true

releases:
- releaseCycle: "1.3.0.0"
Expand Down
5 changes: 3 additions & 2 deletions products/amazon-rds-mysql.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@ category: service
tags: amazon database
iconSlug: amazonrds
permalink: /amazon-rds-mysql
releasePolicyLink:
releasePolicyLink:
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Concepts.VersionMgmt.html
releaseDateColumn: true

auto:
- custom: true
methods:
- custom: true

releases:
- releaseCycle: "8.0"
Expand Down
3 changes: 2 additions & 1 deletion products/amazon-rds-postgresql.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ releasePolicyLink:
releaseDateColumn: true

auto:
- custom: true
methods:
- custom: true

releases:
- releaseCycle: "16"
Expand Down
3 changes: 2 additions & 1 deletion products/angular.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ identifiers:
- purl: pkg:github/angular/angular

auto:
- git: https://github.com/angular/angular.git
methods:
- git: https://github.com/angular/angular.git

releases:
- releaseCycle: "17"
Expand Down
3 changes: 2 additions & 1 deletion products/angularjs.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ eolColumn: Support
extendedSupportColumn: Extended Long Term Support

auto:
- npm: angular
methods:
- npm: angular

identifiers:
- repology: angular.js
Expand Down
3 changes: 2 additions & 1 deletion products/ansible-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ releaseDateColumn: true
eolColumn: Supported

auto:
- git: https://github.com/ansible/ansible.git
methods:
- git: https://github.com/ansible/ansible.git

# For Python / Powershell versions, see https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html.
# EOL dates found on https://docs.ansible.com/ansible/devel/reference_appendices/release_and_maintenance.html.
Expand Down
Loading

0 comments on commit 1312fab

Please sign in to comment.