diff --git a/.github/workflows/pr-auto-label.yml b/.github/workflows/pr-auto-label.yml new file mode 100644 index 00000000..c84f50eb --- /dev/null +++ b/.github/workflows/pr-auto-label.yml @@ -0,0 +1,26 @@ +name: "Automatically mark PRs to sync" + +on: + pull_request: + types: + - opened + +jobs: + labeler: + if: github.event.pull_request.user.type != 'Bot' + permissions: + pull-requests: write + + runs-on: ubuntu-latest + steps: + - name: Add "sync" label to PR + run: gh pr edit "$PR_URL" --add-label sync + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PR_URL: ${{ github.event.pull_request.html_url }} + + - name: Comment on PR to explain sync label + run: gh pr comment "$PR_URL" --body "This pull request has been marked to **automatically sync** to its base branch. You can **disable** this behavior by removing the `sync` label." + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PR_URL: ${{ github.event.pull_request.html_url }} diff --git a/.github/workflows/pr-auto-merge.yml b/.github/workflows/pr-auto-merge.yml new file mode 100644 index 00000000..1773d84f --- /dev/null +++ b/.github/workflows/pr-auto-merge.yml @@ -0,0 +1,23 @@ +name: "Automatically enable auto-merge on PRs" + +on: + pull_request_target: + types: + - opened + - ready_for_review + branches: + - main + +jobs: + enable-automerge: + if: github.event.pull_request.draft == false + permissions: + pull-requests: write + + runs-on: ubuntu-latest + steps: + - name: Enable auto-merge for the PR + run: gh pr merge "$PR_URL" --auto --squash + env: + GH_TOKEN: ${{ secrets.PR_AUTO_UPDATE_TOKEN }} + PR_URL: ${{ github.event.pull_request.html_url }}