Pullapprove as added a few new features to allow for us to better execute our expectation for global approvals. We need to allow for an expectation that our global approver groups are not in the list of approved groups. Additionally, since approval groups apply to all files in the repo, the global approval groups also do not have conditions defined for them, which means pullapprove verification need to allow for no conditions need to be defined. PR Close #36324
36 lines
790 B
TypeScript
36 lines
790 B
TypeScript
/**
|
|
* @license
|
|
* Copyright Google Inc. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
import {parse as parseYaml} from 'yaml';
|
|
|
|
export interface PullApproveGroupConfig {
|
|
conditions?: string;
|
|
reviewers: {
|
|
users: string[],
|
|
teams?: string[],
|
|
}|{
|
|
teams: string[],
|
|
};
|
|
}
|
|
|
|
export interface PullApproveConfig {
|
|
version: number;
|
|
github_api_version?: string;
|
|
pullapprove_conditions?: {
|
|
condition: string,
|
|
unmet_status: string,
|
|
explanation: string,
|
|
}[];
|
|
groups: {
|
|
[key: string]: PullApproveGroupConfig,
|
|
};
|
|
}
|
|
|
|
export function parsePullApproveYaml(rawYaml: string): PullApproveConfig {
|
|
return parseYaml(rawYaml) as PullApproveConfig;
|
|
}
|