forked from shiftstack/shiftstack-ci
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathteam_ssh_keys.sh
executable file
·30 lines (24 loc) · 985 Bytes
/
team_ssh_keys.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env bash
# This script returns the ssh keys of the approvers of a given team name in the
# OWNERS_ALIASES file of a given project.
# The script will return 1 if the script fails to curl the OWNER_ALIASES file
# or if the yq command is not found.
set -Eeuo pipefail
GITHUB_PROJECT="${GITHUB_PROJECT:-openshift/installer}"
TEAM_NAME="${TEAM_NAME:-openstack-approvers}"
if ! command -v yq &> /dev/null; then
echo "yq could not be found"
echo "https://github.com/mikefarah/yq"
exit 1
fi
OWNER_ALIASES=$(curl -s "https://raw.githubusercontent.com/${GITHUB_PROJECT}/master/OWNERS_ALIASES")
if [ -z "$OWNER_ALIASES" ]; then
echo "Failed to curl the OWNER_ALIASES from ${GITHUB_PROJECT}"
exit 1
fi
# shellcheck disable=SC2016
MEMBERS=$(yq --arg team_name "$TEAM_NAME" -r '.aliases[$team_name] | join(" ")' <<< "$OWNER_ALIASES")
for member in $MEMBERS; do
key=$(curl -s "https://github.com/$member.keys")
printf '# %s\n%s\n\n' "$member" "$key"
done