Added global new contributor stats (#1676) (#1677)

This commit is contained in:
daveoconnor
2025-03-04 03:15:41 +00:00
committed by GitHub
parent 312b504795
commit 8fdb92bed4
2 changed files with 33 additions and 2 deletions

View File

@@ -313,6 +313,31 @@ class CreateReportForm(CreateReportFullForm):
key=lambda x: library_order.index(x["id"]),
)
def _global_new_contributors(self, library_version):
version = self.cleaned_data["version"]
version_lt = list(
Version.objects.minor_versions()
.filter(version_array__lt=version.cleaned_version_parts_int)
.order_by("id")
.values_list("id", flat=True)
)
prior_version_author_ids = (
CommitAuthor.objects.filter(commit__library_version__version__in=version_lt)
.distinct()
.values_list("id", flat=True)
)
version_author_ids = (
CommitAuthor.objects.filter(
commit__library_version__version__in=version_lt + [version.id]
)
.distinct()
.values_list("id", flat=True)
)
return set(version_author_ids) - set(prior_version_author_ids)
def _count_new_contributors(self, libraries, library_order):
version = self.cleaned_data["version"]
version_lt = list(
@@ -859,6 +884,9 @@ class CreateReportForm(CreateReportFullForm):
"mailinglist_contributor_new_count": mailinglist_contributor_new_count,
"commit_contributors_release_count": commit_contributors_release_count,
"commit_contributors_new_count": commit_contributors_new_count,
"global_contributors_new_count": len(
self._global_new_contributors(version)
),
"commit_count": commit_count,
"version_commit_count": version_commit_count,
"top_contributors_release_overall": top_contributors,

View File

@@ -179,9 +179,12 @@ body {
<div class="flex flex-col pdf-page items-center justify-items-center {{ bg_color }}" style="background-image: url('{% static 'img/release_report/bg3.png' %}')">
<div class="flex flex-col">
<div class="flex flex-col mb-4">
<h2 class="mx-auto my-1">Git activity for this release</h2>
<div class="mx-auto mb-4"><span class="font-bold">{{ version_commit_count|intcomma }}</span> Commit{{ version_commit_count|pluralize }} Across <span class="font-bold">{{ library_count }}</span> Repositories</div>
<div class="mx-auto"><span class="font-bold">{{ version_commit_count|intcomma }}</span> Commit{{ version_commit_count|pluralize }} Across <span class="font-bold">{{ library_count }}</span> Repositories</div>
{% if global_contributors_new_count %}
<div class="mx-auto"><span class="font-bold">{{ global_contributors_new_count|intcomma }}</span> Brand New Contributor{{ global_contributors_new_count|pluralize }}</div>
{% endif %}
</div>
<div class="flex gap-x-8 justify-around w-full">