Skip to content

docs: explain auto-merge filter rationale #4

docs: explain auto-merge filter rationale

docs: explain auto-merge filter rationale #4

name: Auto-update open PRs
on:
push:
branches: [main]
permissions:
contents: write
pull-requests: write
jobs:
update:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7
with:
script: |
const prs = await github.paginate(github.rest.pulls.list, {
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
base: 'main',
per_page: 100,
});
core.info(`found ${prs.length} open PR(s) targeting main`);
for (const pr of prs) {
if (pr.draft) { core.info(`skip #${pr.number} (draft)`); continue; }
if (!pr.auto_merge) { core.info(`skip #${pr.number} (auto-merge not enabled)`); continue; }
try {
await github.rest.pulls.updateBranch({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: pr.number,
});
core.info(`updated #${pr.number} "${pr.title}"`);
} catch (e) {
core.info(`skipped #${pr.number} "${pr.title}" — ${e.status} ${e.message}`);
}
}