From 6d0b8bfcb6cb3c2e35e56448c3a12f8182f69b5d Mon Sep 17 00:00:00 2001 From: Xi Xu Date: Tue, 18 Aug 2026 11:26:25 +0800 Subject: [PATCH] refactor(actions): remove duplicate Dependabot merge workflow --- .github/workflows/auto-merge-dependencies.yml | 95 ------------------- 1 file changed, 95 deletions(-) delete mode 100644 .github/workflows/auto-merge-dependencies.yml diff --git a/.github/workflows/auto-merge-dependencies.yml b/.github/workflows/auto-merge-dependencies.yml deleted file mode 100644 index e91fa65..0000000 --- a/.github/workflows/auto-merge-dependencies.yml +++ /dev/null @@ -1,95 +0,0 @@ -name: Auto-merge dependency updates - -on: - workflow_run: - workflows: - - CI - types: - - completed - -permissions: - contents: write - pull-requests: write - -jobs: - automerge: - if: > - github.event.workflow_run.conclusion == 'success' && - github.event.workflow_run.event == 'pull_request' - runs-on: ubuntu-latest - - steps: - - name: Auto-merge Dependabot dependency PRs - uses: actions/github-script@v9 - with: - script: | - const pullRequests = context.payload.workflow_run.pull_requests || []; - - if (pullRequests.length === 0) { - core.info('No pull requests were attached to this workflow run.'); - return; - } - - const { data: repo } = await github.rest.repos.get({ - owner: context.repo.owner, - repo: context.repo.repo, - }); - - const mergeMethod = - repo.allow_merge_commit ? 'merge' : - repo.allow_squash_merge ? 'squash' : - repo.allow_rebase_merge ? 'rebase' : - null; - - if (!mergeMethod) { - core.setFailed('This repository does not allow merge, squash, or rebase merges.'); - return; - } - - for (const prRef of pullRequests) { - const { data: pr } = await github.rest.pulls.get({ - owner: context.repo.owner, - repo: context.repo.repo, - pull_number: prRef.number, - }); - - const author = pr.user?.login || ''; - if (!author.includes('dependabot')) { - core.info(`#${pr.number} skipped: author is ${pr.user?.login}.`); - continue; - } - - if (pr.draft) { - core.info(`#${pr.number} skipped: PR is a draft.`); - continue; - } - - const labels = pr.labels.map((label) => label.name); - if (!labels.includes('dependencies')) { - core.info(`#${pr.number} skipped: missing dependencies label.`); - continue; - } - - if (labels.includes('automerge:disabled')) { - core.info(`#${pr.number} skipped: automerge disabled by label.`); - continue; - } - - const reviewDecision = pr.requested_reviewers?.length || pr.requested_teams?.length; - if (reviewDecision) { - core.info(`#${pr.number} skipped: PR is still waiting for requested review.`); - continue; - } - - try { - await github.rest.pulls.merge({ - owner: context.repo.owner, - repo: context.repo.repo, - pull_number: pr.number, - merge_method: mergeMethod, - }); - core.info(`#${pr.number} merged successfully with '${mergeMethod}'.`); - } catch (error) { - core.warning(`#${pr.number} was not merged automatically: ${error.message}`); - } - }