diff --git a/ci/github-script/get-teams.js b/ci/github-script/get-teams.js old mode 100755 new mode 100644 index 9b6d3333f91f..0a097d23eb2f --- a/ci/github-script/get-teams.js +++ b/ci/github-script/get-teams.js @@ -7,9 +7,13 @@ const excludeTeams = [ module.exports = async ({ github, context, core, outFile }) => { const withRateLimit = require('./withRateLimit.js') const { writeFileSync } = require('node:fs') + + const org = context.repo.owner + const result = {} - await withRateLimit({ github, core }, async (_stats) => { - /// Turn an Array of users into an Object, mapping user.login -> user.id + + await withRateLimit({ github, core }, async () => { + // Turn an Array of users into an Object, mapping user.login -> user.id function makeUserSet(users) { // Sort in-place and build result by mutation users.sort((a, b) => (a.login > b.login ? 1 : -1)) @@ -20,21 +24,21 @@ module.exports = async ({ github, context, core, outFile }) => { }, {}) } - /// Process a list of teams and append to the result variable + // Process a list of teams and append to the result variable async function processTeams(teams) { for (const team of teams) { core.notice(`Processing team ${team.slug}`) if (!excludeTeams.some((regex) => team.slug.match(regex))) { const members = makeUserSet( await github.paginate(github.rest.teams.listMembersInOrg, { - org: context.repo.owner, + org, team_slug: team.slug, role: 'member', }), ) const maintainers = makeUserSet( await github.paginate(github.rest.teams.listMembersInOrg, { - org: context.repo.owner, + org, team_slug: team.slug, role: 'maintainer', }), @@ -49,7 +53,7 @@ module.exports = async ({ github, context, core, outFile }) => { } await processTeams( await github.paginate(github.rest.teams.listChildInOrg, { - org: context.repo.owner, + org, team_slug: team.slug, }), ) @@ -57,8 +61,7 @@ module.exports = async ({ github, context, core, outFile }) => { } const teams = await github.paginate(github.rest.repos.listTeams, { - owner: context.repo.owner, - repo: context.repo.repo, + ...context.repo, }) await processTeams(teams) diff --git a/ci/github-script/run b/ci/github-script/run index 2d5121b75b7e..782e3fa7db1f 100755 --- a/ci/github-script/run +++ b/ci/github-script/run @@ -91,7 +91,6 @@ program .argument('[outFile]', 'Path to the output file (Example: github-teams.json). If not set, prints to stdout') .action(async (owner, repo, outFile, options) => { const getTeams = (await import('./get-teams.js')).default - // TODO: Refactor this file so we don't need to pass a PR await run(getTeams, owner, repo, undefined, { ...options, outFile }) })