Raise an alert during the daily auto-update about stale releases, e.g.: - non-EOL releases with latest releases not updated in a year, - non-EOL releases with a release date older than a year. The threshold is configurable.
24 lines
880 B
Python
24 lines
880 B
Python
import logging
|
|
|
|
from common import dates, releasedata
|
|
|
|
"""Remove empty releases or releases which are released in the future."""
|
|
|
|
TODAY = dates.today_at_midnight()
|
|
|
|
frontmatter, _ = releasedata.parse_argv(ignore_auto_config=True)
|
|
with releasedata.ProductData(frontmatter.name) as product_data:
|
|
releases = list(product_data.releases.values()) # a copy is needed to avoid modifying the dict while iterating
|
|
product_data.updated = True # mark the product data as updated even when there are no changes
|
|
|
|
for release in releases:
|
|
if release.is_empty():
|
|
product_data.remove_release(release.name(), "empty release")
|
|
continue
|
|
|
|
if release.was_released_after(TODAY):
|
|
product_data.remove_release(release.name(), "future release")
|
|
continue
|
|
|
|
logging.debug(f"Keeping release {release} in {product_data.name}")
|