Skip to content

Commit

Permalink
fix(ci): improve attribution of co-authors
Browse files Browse the repository at this point in the history
Fix the `Co-authored-by` inclusion in commit messages so that co-authorship is properly expressed. Additionally, filter merge commits before unique authors. Previously, we would not attribute an author if their first commit in a PR was a merge commit. Finally, we remove superfluous newlines between the `Co-authored-by` lines.

Pull-Request: #4104.

Co-authored-by: Thomas Eizinger <[email protected]>
  • Loading branch information
zvolin and thomaseizinger authored Jun 27, 2023
1 parent 5c362fc commit 41076f6
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions .github/mergify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,19 @@ defaults:
method: squash
commit_message_template: |
{{ title }}
{{ body | get_section("## Description", "") }}
Pull-Request: #{{ number }}.
{# Here comes some fancy Jinja2 stuff for correctly attributing co-authorship: #}
{% for commit in (commits | unique(False, 'email_author')) | rejectattr("author", "==", author) %}
{% if commit.parents|length == 1 %}
Co-Authored-By: {{ commit.author }} <{{ commit.email_author }}>
{% endif %}
{%- set _ = 0 -%}
{%- for commit in commits -%}
{%- if commit.parents|length != 1 -%}
{%- set _ = commit.update({'merge': true}) -%}
{%- endif -%}
{%- endfor -%}
{%- for commit in (commits | rejectattr("merge") | unique(False, 'email_author')) | rejectattr("author", "==", author) -%}
Co-authored-by: {{ commit.author }} <{{ commit.email_author }}>
{% endfor %}
{# GitHub requires that the `Co-authored-by` lines are AT THE VERY END of a commit, hence nothing must come after this. #}
Expand Down

0 comments on commit 41076f6

Please sign in to comment.