chore: import upstream snapshot with attribution
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = async ({ github, context, core }) => {
|
||||
const prAuthor = context.payload.pull_request.user.login;
|
||||
|
||||
const teamSlugs = ['dev-team', 'curriculum', 'staff', 'moderators'];
|
||||
const membershipChecks = teamSlugs.map(team_slug =>
|
||||
github.rest.teams
|
||||
.getMembershipForUserInOrg({
|
||||
org: 'freeCodeCamp',
|
||||
team_slug,
|
||||
username: prAuthor
|
||||
})
|
||||
.then(({ data }) => data.state === 'active')
|
||||
.catch(() => false)
|
||||
);
|
||||
const results = await Promise.all(membershipChecks);
|
||||
const isOrgTeamMember = results.some(Boolean);
|
||||
|
||||
const isAllowListed =
|
||||
isOrgTeamMember || ['camperbot', 'renovate[bot]'].includes(prAuthor);
|
||||
|
||||
core.setOutput('is_allow_listed', isAllowListed);
|
||||
};
|
||||
Reference in New Issue
Block a user