Skip to content

Commit ed29574

Browse files
committed
Update to include maintainers team in voting rights
1 parent eb13dbf commit ed29574

File tree

1 file changed

+22
-7
lines changed

1 file changed

+22
-7
lines changed

.github/workflows/pipeline_approval.yml

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,25 +29,40 @@ jobs:
2929
}
3030
3131
// ---------------------------------------------
32-
// Fetch members of the core team
32+
// Fetch members of the core team and maintainers team
3333
// ---------------------------------------------
3434
async function getTeamMembers() {
3535
try {
36-
const res = await github.request('GET /orgs/{org}/teams/{team_slug}/members', {
36+
// Fetch core team members
37+
const coreRes = await github.request('GET /orgs/{org}/teams/{team_slug}/members', {
3738
org,
3839
team_slug: 'core',
3940
per_page: 100
4041
});
41-
console.log(`Fetched ${res.data.length} core team members.`);
42-
return res.data.map(m => m.login);
42+
console.log(`Fetched ${coreRes.data.length} core team members.`);
43+
44+
// Fetch maintainers team members
45+
const maintainersRes = await github.request('GET /orgs/{org}/teams/{team_slug}/members', {
46+
org,
47+
team_slug: 'maintainers',
48+
per_page: 100
49+
});
50+
console.log(`Fetched ${maintainersRes.data.length} maintainers team members.`);
51+
52+
// Combine both teams and remove duplicates
53+
const allMembers = [...coreRes.data, ...maintainersRes.data];
54+
const uniqueMembers = Array.from(new Set(allMembers.map(m => m.login)));
55+
console.log(`Total unique team members: ${uniqueMembers.length}`);
56+
57+
return uniqueMembers;
4358
} catch (err) {
44-
console.error('Failed to fetch core team members:', err);
59+
console.error('Failed to fetch team members:', err);
4560
throw err;
4661
}
4762
}
4863
4964
const teamMembers = await getTeamMembers();
50-
console.log('Core team members:', teamMembers);
65+
console.log('Core and Maintainers team members:', teamMembers);
5166
const quorum = Math.ceil(teamMembers.length / 2);
5267
console.log(`Quorum set to ${quorum}.`);
5368
@@ -62,7 +77,7 @@ jobs:
6277
const awaiting = awaitingArr;
6378
let body = `## Pipeline approval status: ${status}\n\nPipeline has approvals from ${approvalsSet.size}/${quorum} required @core-team quorum.\n\n`;
6479
if (approvers.length > 0 || rejecters.length > 0 || awaiting.length > 0) {
65-
body += `|Review Status|Core Team members|\n|--|--|\n`;
80+
body += `|Review Status|Core and Maintainer Team members|\n|--|--|\n`;
6681
if (approvers.length > 0) {
6782
body += `| ✅ Approved | ${formatUserList(approvers)} |\n`;
6883
}

0 commit comments

Comments
 (0)