4343 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
4444 run : |
4545 set -euo pipefail
46- gh pr view "${{ steps.pr.outputs.pr_number }}" --repo "${GITHUB_REPOSITORY}" --json number,isDraft,author,url,body,labels > pr.json
46+ gh pr view "${{ steps.pr.outputs.pr_number }}" --repo "${GITHUB_REPOSITORY}" --json number,isDraft,author,url,title, body,labels > pr.json
4747 python3 - <<'PY'
4848 import json
4949 import os
@@ -52,15 +52,20 @@ jobs:
5252 pr = json.loads(Path("pr.json").read_text(encoding="utf-8"))
5353 author = (pr.get("author") or {}).get("login")
5454 labels = {item.get("name", "") for item in pr.get("labels", [])}
55+ title = pr.get("title") or ""
5556 body = pr.get("body") or ""
5657 is_major = "update-type: version-update:semver-major" in body
58+ sensitive_labels = {"docker", "github_actions"}
59+ is_sensitive = bool(labels & sensitive_labels) or "QuantStrategyLab/" in title or "QuantStrategyLab/" in body
5760 dependabot_authors = {"dependabot[bot]", "app/dependabot"}
5861 is_dependabot = author in dependabot_authors and "dependencies" in labels
59- should_merge = is_dependabot and not pr.get("isDraft") and not is_major
62+ should_merge = is_dependabot and not pr.get("isDraft") and not is_major and not is_sensitive
6063 if should_merge:
6164 reason = "ready"
6265 elif is_major:
6366 reason = "major_update"
67+ elif is_sensitive:
68+ reason = "sensitive_dependency_update"
6469 else:
6570 reason = "not_eligible_dependabot_pr"
6671
7176 f"- Draft: `{'yes' if pr.get('isDraft') else 'no'}`",
7277 f"- Dependabot label: `{'yes' if 'dependencies' in labels else 'no'}`",
7378 f"- Major update: `{'yes' if is_major else 'no'}`",
79+ f"- Sensitive dependency class: `{'yes' if is_sensitive else 'no'}`",
7480 f"- Final merge decision: `{'merge' if should_merge else 'skip'}`",
7581 f"- Reason: `{reason}`",
7682 ]
8894 if : steps.merge_guard.outputs.should_merge == 'true'
8995 env :
9096 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
91- run : gh pr merge "${{ steps.pr.outputs.pr_number }}" --repo "${GITHUB_REPOSITORY}" --rebase --delete-branch --match-head-commit "${{ steps.pr.outputs.head_sha }}"
97+ run : gh pr merge "${{ steps.pr.outputs.pr_number }}" --repo "${GITHUB_REPOSITORY}" --auto -- rebase --delete-branch --match-head-commit "${{ steps.pr.outputs.head_sha }}"
0 commit comments