Skip to content

Commit 7f24145

Browse files
authored
Merge pull request #249 from stephanosio/gh-canonical_username
github-zephyrproject-rtos: Use canonical GitHub usernames
2 parents d6d7d38 + 691867b commit 7f24145

File tree

8 files changed

+94
-26
lines changed

8 files changed

+94
-26
lines changed

terraform/github-zephyrproject-rtos/repository/repository-members/hal_rpi_pico.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ team,maintainers,triage
33
team,release,push
44
user,soburi,maintain
55
user,yonsch,push
6-
user,threeeights,push
6+
user,ThreeEights,push
77
user,ajf58,push

terraform/github-zephyrproject-rtos/repository/repository-members/liblc3.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ team,maintainers,triage
33
team,release,push
44
user,Casper-Bonde-Bose,maintain
55
user,MariuszSkamra,maintain
6-
user,thalley,push
6+
user,Thalley,push
77
user,asbjornsabo,push

terraform/github-zephyrproject-rtos/repository/repository-members/trusted-firmware-a.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ type,id,permission
22
team,maintainers,triage
33
team,release,push
44
user,povergoing,maintain
5-
user,sgrrzhf,maintain
5+
user,SgrrZhf,maintain
66
user,carlocaione,push
77
user,wearyzen,push
88
user,ithinuel,push
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
#!/usr/bin/env bash
2+
3+
# This script queries and print out the "canonical" username for a GitHub user.
4+
#
5+
# As example, for a user with the registered username `RandomUser1234`, this
6+
# scripts returns `RandomUser1234` when `randomuser1234`, `rAndOMuSer1234` or
7+
# any other case variation of the username is specified.
8+
9+
set -e
10+
11+
usage()
12+
{
13+
echo "Usage: $(basename $0) username"
14+
}
15+
16+
# Validate and parse arguments
17+
if [ "$1" == "" ]; then
18+
usage
19+
echo
20+
echo "username must be specified."
21+
exit 1
22+
fi
23+
24+
username=$1
25+
cache_file=".username.cache"
26+
27+
# Attempt to retrieve the canonical username from a local cache file
28+
if [ -f "${cache_file}" ]; then
29+
cache_data=($(<${cache_file}))
30+
31+
for cache_entry in "${cache_data[@]}"; do
32+
if [[ "${cache_entry,,}" == "${username,,}" ]]; then
33+
# Found a matching cache entry; print it and exit
34+
echo "${cache_entry}"
35+
exit 0
36+
fi
37+
done
38+
fi
39+
40+
# Retrieve user data from GitHub
41+
user_data=$(gh api /users/${username})
42+
canonical_username=$(echo "${user_data}" | jq -r '.login')
43+
44+
# Ensure that canonical username is alphanumerically identical to the specified
45+
# username
46+
if [[ "${canonical_username,,}" != "${username,,}" ]]; then
47+
echo "Invalid user data."
48+
exit 2
49+
fi
50+
51+
# Save canonical username to the cache file
52+
echo "${canonical_username}" >> ${cache_file}
53+
54+
# Print canonical username
55+
echo "${canonical_username}"

terraform/github-zephyrproject-rtos/scripts/sync_module_repo_members.sh

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
set -e
77

8+
get_canonical_username="$(dirname "${BASH_SOURCE[0]}")/get_canonical_username.sh"
9+
810
usage()
911
{
1012
echo "Usage $(basename $0) maintainers_file manifest_path"
@@ -96,19 +98,23 @@ for module_maintainer_entry in "${module_maintainer_entries[@]}"; do
9698

9799
## Write maintainer entries
98100
for maintainer in ${maintainers}; do
99-
if [[ " ${global_admins[@]} " =~ " ${maintainer} " ]]; then
100-
echo "user,${maintainer},admin" >> ${collab_list_file}
101+
username=$(${get_canonical_username} ${maintainer})
102+
103+
if [[ " ${global_admins[@]} " =~ " ${username} " ]]; then
104+
echo "user,${username},admin" >> ${collab_list_file}
101105
else
102-
echo "user,${maintainer},maintain" >> ${collab_list_file}
106+
echo "user,${username},maintain" >> ${collab_list_file}
103107
fi
104108
done
105109

106110
## Write collaborator entries
107111
for collaborator in ${collaborators}; do
108-
if [[ " ${global_admins[@]} " =~ " ${collaborator} " ]]; then
109-
echo "user,${collaborator},admin" >> ${collab_list_file}
112+
username=$(${get_canonical_username} ${collaborator})
113+
114+
if [[ " ${global_admins[@]} " =~ " ${username} " ]]; then
115+
echo "user,${username},admin" >> ${collab_list_file}
110116
else
111-
echo "user,${collaborator},push" >> ${collab_list_file}
117+
echo "user,${username},push" >> ${collab_list_file}
112118
fi
113119
done
114120
done

terraform/github-zephyrproject-rtos/scripts/sync_team_membership.sh

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
set -e
77

8+
get_canonical_username="$(dirname "${BASH_SOURCE[0]}")/get_canonical_username.sh"
9+
810
usage()
911
{
1012
echo "Usage: $(basename $0) maintainers_file manifest_path"
@@ -62,11 +64,13 @@ write_team_member_list()
6264
member_list="$2"
6365

6466
echo "username,role" > "${output_file}"
65-
for user in ${member_list}; do
66-
if [[ " ${global_admins[@]} " =~ " ${user} " ]]; then
67-
echo "${user},maintainer" >> ${output_file}
67+
for username in ${member_list}; do
68+
canonical_username=$(${get_canonical_username} ${username})
69+
70+
if [[ " ${global_admins[@]} " =~ " ${canonical_username} " ]]; then
71+
echo "${canonical_username},maintainer" >> ${output_file}
6872
else
69-
echo "${user},member" >> "${output_file}"
73+
echo "${canonical_username},member" >> "${output_file}"
7074
fi
7175
done
7276
}

terraform/github-zephyrproject-rtos/team/team-members/collaborators.csv

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ alevkoy,member
1414
alexanderwachter,member
1515
alvsun,member
1616
alxelax,member
17+
anangl,member
1718
Andrewpini,member
1819
andrzej-kaczmarek,member
1920
andyross,member
@@ -23,11 +24,10 @@ asbjornsabo,member
2324
asemjonovs,member
2425
asm5878,member
2526
asmellby,member
26-
attie-argentum,member
2727
avisconti,member
2828
avolmat-st,member
2929
axelnxp,member
30-
ayush1325,member
30+
Ayush1325,member
3131
babrsn,member
3232
bbolen,member
3333
BeckmaR,member
@@ -43,7 +43,6 @@ canisLupus1313,member
4343
carlescufi,maintainer
4444
carlocaione,member
4545
casparfriedrich,member
46-
Casper-Bonde-Bose,member
4746
ceolin,member
4847
cfriedt,member
4948
clamattia,member
@@ -53,6 +52,7 @@ cvinayak,member
5352
danieldegrasse,member
5453
Dat-NguyenDuy,member
5554
dbaluta,member
55+
DBS06,member
5656
dcpleung,member
5757
de-nordic,member
5858
decsny,member
@@ -101,7 +101,7 @@ inteljiangwe1,member
101101
ithinuel,member
102102
iuliana-prodan,member
103103
jackrosenthal,member
104-
jarmouniA,member
104+
JarmouniA,member
105105
jaz1-nordic,member
106106
jbehrensnx,member
107107
jeppenodgaard,member
@@ -121,14 +121,14 @@ jxstelter,member
121121
KamilxPaszkiet,member
122122
kartben,member
123123
katsuster,member
124-
kehintel,member
124+
KeHIntel,member
125125
keith-packard,member
126126
keith-zephyr,member
127127
kevinwang821020,member
128128
kgugala,member
129129
kkasperczyk-no,member
130130
kl-cruz,member
131-
kludentwo,member
131+
Kludentwo,member
132132
krish2718,member
133133
kv2019i,member
134134
KyraLengfeld,member
@@ -157,16 +157,17 @@ MaochenWang1,member
157157
marcinszkudlinski,member
158158
marekmatej,member
159159
mariuszpos,member
160-
MariuszSkamra,member
161160
MarkWangChinese,member
162161
Martinhoff-maker,member
163162
martinjaeger,member
164163
marwaiehm-st,member
164+
masz-nordic,member
165165
mateusz-holenko,member
166166
mathieuchopstm,member
167167
MaureenHelm,member
168168
maxd-nordic,member
169169
mbolivar,member
170+
mcatee-infineon,member
170171
mgielda,member
171172
michalsimek,member
172173
microbuilder,member
@@ -185,7 +186,6 @@ niym-ot,member
185186
nordic-auko,member
186187
nordic-krch,member
187188
nordicjm,member
188-
npal-cy,member
189189
npitre,member
190190
omkar3141,member
191191
ozersa,member
@@ -216,13 +216,14 @@ sachinthegreen,member
216216
sateeshkotapati,member
217217
seov-nordic,member
218218
SeppoTakalo,member
219-
sgrrzhf,member
219+
SgrrZhf,member
220220
simhein,member
221-
sir-branch,member
221+
Sir-Branch,member
222222
sjanc,member
223223
sjg20,member
224224
soburi,member
225225
softwarecki,member
226+
sreeramIfx,member
226227
sriccardi-invn,member
227228
srkanordic,member
228229
ssekar15,member
@@ -242,9 +243,8 @@ Thalley,member
242243
thaoluonguw,member
243244
thedjnK,member
244245
thenguyenyf,member
245-
theob-pro,member
246246
thoh-ot,member
247-
threeeights,member
247+
ThreeEights,member
248248
tmleman,member
249249
tmon-nordic,member
250250
TomChang19,member

terraform/github-zephyrproject-rtos/team/team-members/maintainers.csv

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
username,role
2+
3rang,member
23
aaillet,member
34
aaronemassey,member
45
abrodkin,member
@@ -32,6 +33,7 @@ cvinayak,member
3233
cyliangtw,member
3334
d3zd3z,member
3435
danieldegrasse,member
36+
Dat-NguyenDuy,member
3537
dbaluta,member
3638
dcpleung,member
3739
de-nordic,member
@@ -56,6 +58,7 @@ GTLin08,member
5658
henrikbrixandersen,member
5759
ifyall,member
5860
ioannis-karachalios,member
61+
iuliana-prodan,member
5962
jadonk,member
6063
jakub-uC,member
6164
JasonLin-RealTek,member
@@ -128,7 +131,7 @@ ruuddw,member
128131
sachinthegreen,member
129132
sambhurst,member
130133
seov-nordic,member
131-
sgrrzhf,member
134+
SgrrZhf,member
132135
sidcha,member
133136
simonguinot,member
134137
sjanc,member

0 commit comments

Comments
 (0)