You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ap...@apache.org on 2021/12/14 13:14:47 UTC

[arrow-site] branch master updated: check for duplicates and update committers (#172)

This is an automated email from the ASF dual-hosted git repository.

apitrou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-site.git


The following commit(s) were added to refs/heads/master by this push:
     new 5213061  check for duplicates and update committers (#172)
5213061 is described below

commit 5213061b58bedbf6169b55f0d821bc4d928aae07
Author: Benson Muite <bk...@users.noreply.github.com>
AuthorDate: Tue Dec 14 16:14:42 2021 +0300

    check for duplicates and update committers (#172)
    
    Co-authored-by: Antoine Pitrou <pi...@free.fr>
---
 _data/committers.yml        | 115 ++++++++++++++++++++++++++------------------
 scripts/check_committers.py |  22 +++++++--
 2 files changed, 86 insertions(+), 51 deletions(-)

diff --git a/_data/committers.yml b/_data/committers.yml
index 33daca4..00f6536 100644
--- a/_data/committers.yml
+++ b/_data/committers.yml
@@ -25,7 +25,7 @@
 - name: Wes McKinney
   role: VP
   alias: wesm
-  affiliation: Ursa Computing
+  affiliation: Voltron Data
 
 - name: Abdelhakim Deneche
   role: PMC
@@ -46,7 +46,15 @@
 - name: Antoine Pitrou
   role: PMC
   alias: apitrou
-  affiliation: Independent / Ursa Computing
+  affiliation: Voltron Data
+- name: Ben Kietzman
+  role: PMC
+  alias: bkietz
+  affiliation: Voltron Data
+- name: David Li
+  role: PMC
+  alias: lidavidm
+  affiliation: Voltron Data
 - name: François Saint-Jacques
   role: PMC
   alias: fsaintjacques
@@ -75,6 +83,10 @@
   role: PMC
   alias: jorgecarleitao
   affiliation: Munin Data ApS
+- name: Joris van den Bossche
+  role: PMC 
+  alias: jorisvandenbossche
+  affiliation: Voltron Data
 - name: Julian Hyde
   role: PMC
   alias: jhyde
@@ -90,7 +102,7 @@
 - name: Krisztián Szűcs
   role: PMC
   alias: kszucs
-  affiliation: Ursa Computing
+  affiliation: Voltron Data
 - name: Marcel Kornacker
   role: PMC
   alias: marcel
@@ -99,10 +111,18 @@
   role: PMC
   alias: emkornfield
   affiliation: Google
+- name: Michael Stack
+  role: PMC
+  alias: stack
+  affiliation: Cloudera
 - name: Neal Richardson
   role: PMC
   alias: npr
-  affiliation: Ursa Computing
+  affiliation: Voltron Data
+- name: Neville Dipale
+  role: PMC 
+  alias: nevime
+  affiliation: commutenav
 - name: P. Taylor Goetz
   role: PMC
   alias: ptgoetz
@@ -139,14 +159,15 @@
   role: PMC
   alias: tdunning
   affiliation: MapR
+- name: Todd Lipcon
+  role: PMC
+  alias: todd
+  affiliation: Google
 - name: Uwe L. Korn
   role: PMC
   alias: uwe
   affiliation: Quantco
-- name: Ben Kietzman
-  role: PMC
-  alias: bkietz
-  affiliation: Ursa Computing
+
 - name: Brian Hulette
   role: Committer
   alias: bhulette
@@ -167,14 +188,22 @@
   role: Committer
   alias: dralves
   affiliation: CortexXus
-- name: David Li
-  role: PMC
-  alias: lidavidm
-  affiliation: Ursa Computing
+- name: Deepak Majeti
+  role: Committer
+  alias: mdeepak
+  affiliation: Ahana
+- name: Dominik Moritz
+  role: Committer
+  alias: domoritz
+  affiliation: Carnegie Mellon University
 - name: Eric Erhardt
   role: Committer
   alias: eerhardt
   affiliation: Microsoft
+- name: Ian Cook
+  role: Committer
+  alias: ianmcook
+  affiliation: Voltron Data
 - name: Ippokratis Pandis
   role: Committer
   alias: ippokratis
@@ -183,10 +212,14 @@
   role: Committer
   alias: tianchen
   affiliation: Alibaba
-- name: Joris van den Bossche
+- name: Jiayu Liu
   role: Committer
-  alias: jorisvandenbossche
-  affiliation: Ursa Computing
+  alias: jiayuliu
+  affiliation: Airbnb Inc.
+- name: Jonathan Keane
+  role: Committer
+  alias: jonkeane
+  affiliation: Voltron Data
 - name: Kazuaki Ishizaki
   role: Committer
   alias: kiszk
@@ -203,10 +236,14 @@
   role: Committer
   alias: liyafan
   affiliation: Alibaba
-- name: Neville Dipale
+- name: Matthew Topol
   role: Committer
-  alias: nevime
-  affiliation: commutenav
+  alias: zeroshade
+  affiliation: FactSet Research Systems, Inc.
+- name: Nic Crane
+  role: Committer
+  alias: thisisnic
+  affiliation: Voltron Data 
 - name: Paddy Horan
   role: Committer
   alias: paddyhoran
@@ -221,8 +258,16 @@
   affiliation: Dremio
 - name: Ravindra Pindikura
   role: Committer
-  alias: ravindrap
+  alias: ravindra
   affiliation: Dremio
+- name: Rémi Dattai
+  role: Committer
+  alias: rdettai
+  affiliation: Cloudfuse 
+- name: Qingping Hou
+  role: Committer
+  alias: houqp
+  affiliation: Scribd, Inc.
 - name: Robert Nishihara
   role: Committer
   alias: robertnishihara
@@ -231,6 +276,10 @@
   role: Committer
   alias: romainfrancois
   affiliation: RStudio
+- name: Weston Pace
+  role: Committer
+  alias: westonpace
+  affiliation: Voltron Data
 - name: Yibo Cai
   role: Committer
   alias: yibocai
@@ -239,31 +288,3 @@
   role: Committer
   alias: shiro
   affiliation: Red Data Tools
-- name: Ian Cook
-  role: Committer
-  alias: ianmcook
-  affiliation: Ursa Computing
-- name: Jonathan Keane
-  role: Committer
-  alias: jonkeane
-  affiliation: Ursa Computing
-- name: Weston Pace
-  role: Committer
-  alias: westonpace
-  affiliation: Ursa Computing
-- name: Dominik Moritz
-  role: Committer
-  alias: domoritz
-  affiliation: Carnegie Mellon University
-- name: Matthew Topol
-  role: Committer
-  alias: zeroshade
-  affiliation: FactSet Research Systems, Inc.
-- name: Qingping Hou
-  role: Committer
-  alias: houqp
-  affiliation: Scribd, Inc.
-- name: Jiayu Liu
-  role: Committer
-  alias: jiayuliu
-  affiliation: Airbnb Inc.
diff --git a/scripts/check_committers.py b/scripts/check_committers.py
index 8b66a0d..e48ebb4 100755
--- a/scripts/check_committers.py
+++ b/scripts/check_committers.py
@@ -22,7 +22,7 @@
 # the Governance page is up-to-date with the authoritative ASF roster.
 #
 
-from collections import namedtuple
+from collections import namedtuple, Counter
 import json
 import os
 import sys
@@ -32,7 +32,6 @@ import yaml
 
 
 git_root = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
-
 committers_yaml = os.path.join(git_root, "_data", "committers.yml")
 
 # See https://home.apache.org/phonebook-about.html
@@ -41,7 +40,6 @@ committers_url = "https://whimsy.apache.org/public/public_ldap_projects.json"
 
 Roster = namedtuple('Roster', ('committers', 'pmcs'))
 
-
 def get_asf_roster():
     r = requests.get(committers_url)
     j = r.json()
@@ -50,6 +48,18 @@ def get_asf_roster():
     committers = set(proj['members']) - pmcs
     return Roster(committers, pmcs)
 
+def get_duplicates():
+    with open(committers_yaml, "r") as f:
+        d = yaml.safe_load(f)
+    aliases = []
+    duplicates = set()
+    for member in d:
+        aliases.append(member['alias'])
+    alias_counts = Counter(aliases)
+    for alias in alias_counts:
+        if alias_counts[alias] > 1:
+            duplicates.add(alias)
+    return duplicates
 
 def get_local_roster():
     with open(committers_yaml, "r") as f:
@@ -67,8 +77,11 @@ def get_local_roster():
             raise ValueError(f"Invalid role {role!r} for {uid}")
     return Roster(committers, pmcs)
 
-
 if __name__ == "__main__":
+    duplicate_members = get_duplicates()
+    if duplicate_members:
+       print("Duplicate members in local list:", sorted(duplicate_members))
+       sys.exit(1)
     local_roster = get_local_roster()
     asf_roster = get_asf_roster()
     if local_roster == asf_roster:
@@ -76,6 +89,7 @@ if __name__ == "__main__":
         sys.exit(0)
 
     missing_pmcs = asf_roster.pmcs - local_roster.pmcs
+
     if missing_pmcs:
         print("Missing PMCs in local list:", sorted(missing_pmcs))
     missing_committers = asf_roster.committers - local_roster.committers