@@ -9,30 +9,30 @@ const PULL_REQUEST_API_URL =
"https://api.github.com/repos/zed-industries/zed/pulls";
const DIVIDER = "-".repeat(80);
-// Maintain list manually, as our GitHub organization has community members in it.
-const STAFF_MEMBERS = new Set([
- "as-cii",
- "bennetbo",
- "conradirwin",
- "danilo-leal",
- "iamnbutler",
- "josephtlyons",
- "jvmncs",
- "maxbrunsfeld",
- "maxdeviant",
- "mikayla-maki",
- "nathansobo",
- "notpeter",
- "osiewicz",
- "rgbkrk",
- "rtfeldman",
- "someonetoignore",
- "thorstenball",
-]);
-
main();
async function main() {
+ const STAFF_MEMBERS = new Set(
+ (
+ await (
+ await fetch(
+ "https://api.github.com/orgs/zed-industries/teams/staff/members",
+ {
+ headers: {
+ Authorization: `token ${GITHUB_ACCESS_TOKEN}`,
+ Accept: "application/vnd.github+json",
+ },
+ },
+ )
+ ).json()
+ ).map(({ login }) => login.toLowerCase()),
+ );
+
+ const isStaffMember = (githubHandle) => {
+ githubHandle = githubHandle.toLowerCase();
+ return STAFF_MEMBERS.has(githubHandle);
+ };
+
// Get the last two preview tags
const [newTag, oldTag] = execFileSync(
"git",
@@ -142,8 +142,3 @@ function getPullRequestNumbers(oldTag, newTag) {
return pullRequestNumbers;
}
-
-function isStaffMember(githubHandle) {
- githubHandle = githubHandle.toLowerCase();
- return STAFF_MEMBERS.has(githubHandle);
-}