mirror of
https://github.com/boostorg/website-v2.git
synced 2026-01-19 04:42:17 +00:00
Release import adjustments (#2045)
This commit is contained in:
@@ -29,7 +29,7 @@ def command(library_name, release):
|
||||
library_versions = library_versions.filter(library__name__iexact=library_name)
|
||||
|
||||
if release is not None:
|
||||
library_versions = library_versions.filter(version__name__icontains=release)
|
||||
library_versions = library_versions.filter(version__name=release)
|
||||
|
||||
for library_version in library_versions.order_by(
|
||||
"-version__name", "-library__name"
|
||||
|
||||
@@ -43,7 +43,8 @@ def command(release: str, new: bool):
|
||||
last_release = settings.MIN_ARCHIVES_RELEASE
|
||||
|
||||
if release:
|
||||
versions = Version.objects.filter(name__icontains=release)
|
||||
name = f"boost-{release}" if release not in ["master", "develop"] else release
|
||||
versions = [Version.objects.get(name=name)]
|
||||
elif new:
|
||||
versions = [Version.objects.most_recent()]
|
||||
else:
|
||||
|
||||
@@ -73,7 +73,7 @@ def import_versions(
|
||||
if purge_after:
|
||||
logger.info("linking fastly purge")
|
||||
task_group.link(purge_fastly_release_cache.s())
|
||||
task_group.link(mark_fully_completed.s())
|
||||
task_group.link(mark_fully_completed.s(full_release_only=True))
|
||||
task_group()
|
||||
import_release_notes.delay()
|
||||
|
||||
@@ -84,9 +84,13 @@ def import_release_notes(new_versions_only=True):
|
||||
release notes in the repository."""
|
||||
versions = [Version.objects.most_recent()]
|
||||
if not new_versions_only:
|
||||
versions = Version.objects.exclude(name__in=["master", "develop"]).active()
|
||||
versions = (
|
||||
Version.objects.exclude(name__in=["master", "develop"])
|
||||
.active()
|
||||
.order_by("name")
|
||||
)
|
||||
|
||||
logger.info(f"import_release_notes {[(v.pk,v.name) for v in versions]}")
|
||||
logger.info(f"import_release_notes {[v.name for v in versions]}")
|
||||
for version in versions:
|
||||
logger.info(f"retrieving release notes for {version.name=} {version.pk=}")
|
||||
store_release_notes_task(version.pk)
|
||||
@@ -204,7 +208,7 @@ def import_most_recent_beta_release(token=None, delete_old=False):
|
||||
logger.info(f"calling import_version with {name=} {tag=}")
|
||||
import_version(name, tag, token=token, beta=True, full_release=False)
|
||||
logger.info(f"completed import_version with {name=} {tag=}")
|
||||
mark_fully_completed()
|
||||
mark_fully_completed(beta_only=True)
|
||||
# new_versions_only='False' otherwise will only be full releases
|
||||
import_release_notes(new_versions_only=False)
|
||||
return
|
||||
@@ -484,10 +488,18 @@ def purge_fastly_release_cache():
|
||||
|
||||
|
||||
@app.task
|
||||
def mark_fully_completed():
|
||||
def mark_fully_completed(beta_only=False, full_release_only=False):
|
||||
"""Marks all versions as fully imported"""
|
||||
Version.objects.filter(fully_imported=False).update(fully_imported=True)
|
||||
logger.info("Marked all versions as fully imported.")
|
||||
qs = Version.objects.filter(fully_imported=False)
|
||||
if full_release_only:
|
||||
logger.info("Marking active as fully imported")
|
||||
qs = qs.filter(full_release=True)
|
||||
elif beta_only:
|
||||
logger.info("Marking beta as fully imported")
|
||||
qs = qs.filter(beta=True)
|
||||
versions = [v.name for v in qs.order_by("name").all()]
|
||||
qs.update(fully_imported=True)
|
||||
logger.info(f"Marked {versions=} as fully imported.")
|
||||
|
||||
|
||||
# Helper functions
|
||||
|
||||
Reference in New Issue
Block a user