зеркало из https://github.com/electron/trop.git
refactor: improve branch support logic (#301)
This commit is contained in:
Родитель
e4986c60f0
Коммит
c8c9cf4e33
52
src/index.ts
52
src/index.ts
|
@ -548,55 +548,55 @@ const probotHandler: ApplicationFunction = async (robot, { getRouter }) => {
|
||||||
);
|
);
|
||||||
for (const branch of branches) {
|
for (const branch of branches) {
|
||||||
robot.log(
|
robot.log(
|
||||||
`Initiating backport to \`${branch}\` from 'backport-to' comment`,
|
`Attempting backport to \`${branch}\` from 'backport-to' comment`,
|
||||||
);
|
);
|
||||||
|
|
||||||
const pr = (
|
|
||||||
await context.octokit.pulls.get(
|
|
||||||
context.repo({ pull_number: issue.number }),
|
|
||||||
)
|
|
||||||
).data as WebHookPR;
|
|
||||||
|
|
||||||
try {
|
|
||||||
await context.octokit.repos.getBranch(context.repo({ branch }));
|
|
||||||
} catch (err) {
|
|
||||||
await context.octokit.issues.createComment(
|
|
||||||
context.repo({
|
|
||||||
body: `The branch you provided \`${branch}\` does not appear to exist.`,
|
|
||||||
issue_number: issue.number,
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Optionally disallow backports to EOL branches
|
|
||||||
const noEOLSupport = getEnvVar('NO_EOL_SUPPORT', '');
|
const noEOLSupport = getEnvVar('NO_EOL_SUPPORT', '');
|
||||||
if (noEOLSupport) {
|
if (noEOLSupport) {
|
||||||
const supported = await getSupportedBranches(context);
|
const supported = await getSupportedBranches(context);
|
||||||
if (!supported.includes(branch)) {
|
if (!supported.includes(branch)) {
|
||||||
robot.log(
|
robot.log(`${branch} is EOL - no backport will be initiated`);
|
||||||
`${branch} is no longer supported - no backport will be initiated`,
|
|
||||||
);
|
|
||||||
await context.octokit.issues.createComment(
|
await context.octokit.issues.createComment(
|
||||||
context.repo({
|
context.repo({
|
||||||
body: `\`${branch}\` is no longer supported - no backport will be initiated.`,
|
body: `Provided branch \`${branch}\` is EOL - no backport will be performed.`,
|
||||||
issue_number: issue.number,
|
issue_number: issue.number,
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
return false;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
await context.octokit.repos.getBranch(context.repo({ branch }));
|
||||||
|
} catch (err) {
|
||||||
|
robot.log(
|
||||||
|
`${branch} does not exist - no backport will be initiated`,
|
||||||
|
);
|
||||||
|
await context.octokit.issues.createComment(
|
||||||
|
context.repo({
|
||||||
|
body: `Provided branch \`${branch}\` does not appear to exist.`,
|
||||||
|
issue_number: issue.number,
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
robot.log(
|
robot.log(
|
||||||
`Initiating manual backport process for #${issue.number} to ${branch}`,
|
`Initiating manual backport process for #${issue.number} to ${branch}`,
|
||||||
);
|
);
|
||||||
|
|
||||||
await context.octokit.issues.createComment(
|
await context.octokit.issues.createComment(
|
||||||
context.repo({
|
context.repo({
|
||||||
body: `The backport process for this PR has been manually initiated - sending your PR to \`${branch}\`!`,
|
body: `The backport process for this PR has been manually initiated - sending your PR to \`${branch}\`!`,
|
||||||
issue_number: issue.number,
|
issue_number: issue.number,
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
backportToBranch(robot, context, pr, branch);
|
|
||||||
|
const { data: pr } = await context.octokit.pulls.get(
|
||||||
|
context.repo({ pull_number: issue.number }),
|
||||||
|
);
|
||||||
|
|
||||||
|
backportToBranch(robot, context, pr as WebHookPR, branch);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
Загрузка…
Ссылка в новой задаче