chore(ci): Improve bot script (#4430)

- It will now rebase another PR if there's a merge conflict.
 - It does not update the base branch if it's already up-to-date.
This commit is contained in:
Donny/강동윤 2022-04-25 19:21:34 +09:00 committed by GitHub
parent 6d4b32a51c
commit c216a03673
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 44 additions and 24 deletions

View File

@ -1,9 +1,11 @@
name: SWC Bot name: Bot
on: on:
push: push:
branches: branches:
- main - main
schedule:
- cron: "0 */1 * * *"
env: env:
GIT_COMMITTER_NAME: "SWC Bot" GIT_COMMITTER_NAME: "SWC Bot"
@ -40,6 +42,7 @@ jobs:
name: Create cargo bump commit name: Create cargo bump commit
runs-on: ubuntu-latest runs-on: ubuntu-latest
concurrency: swc-bot-cargo-bump concurrency: swc-bot-cargo-bump
if: ${{ github.event_name == 'push' }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with: with:

View File

@ -38,8 +38,17 @@ function sleep(ms: number) {
return; return;
} }
const pr = autoMergePrs[0]; for (const pr of autoMergePrs) {
try {
const baseBranch = await octokit.rest.repos.getBranch({
owner,
repo,
branch: pr.base.ref
});
if (baseBranch.data.commit.sha === pr.base.sha) {
console.error(`PR #${pr.number} is already up-to-date`);
continue
}
await octokit.rest.pulls.updateBranch({ await octokit.rest.pulls.updateBranch({
@ -68,4 +77,12 @@ function sleep(ms: number) {
event: 'COMMENT', event: 'COMMENT',
body: 'Automated review comment generated by auto-rebase script', body: 'Automated review comment generated by auto-rebase script',
}); });
break;
} catch (e) {
console.error(`Failed to auto-rebase:`, e)
}
}
})() })()