From fe4c74e67920bbf83d4b449c59c23175203c078b Mon Sep 17 00:00:00 2001 From: Rui Lopes <76881129+RuiL1904@users.noreply.github.com> Date: Thu, 24 Aug 2023 21:47:28 +0100 Subject: [PATCH] chore: add reviewpad configuration (#191) --- reviewpad.yml | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 reviewpad.yml diff --git a/reviewpad.yml b/reviewpad.yml new file mode 100644 index 00000000..e4ed6354 --- /dev/null +++ b/reviewpad.yml @@ -0,0 +1,57 @@ +dictionaries: + - name: Label per file path + description: Labels to apply based on the path of the touched files + spec: + '**/app/**': '"app"' + '**/web/**': '"web"' + '**/blog/**': '"blog"' + +rules: + - name: Open PR state + spec: '!$isDraft() && $getState() == "open"' + + - name: First run state + spec: $getEventType() == "opened" && $rule("Open PR state") + +workflows: + - name: Assign author + run: + - if: $rule("First run state") + then: $addAssignees([$getAuthor()]) + + - name: Add labels to PR + run: + - if: $rule("Open PR state") + then: + - forEach: + key: $filePattern + value: $label + in: $dictionary("Label per file path") + do: + - if: $containsFilePattern($filePattern) + then: + - $addLabel($label) + + - name: Request review from maintainers + run: + - if: $rule("First run state") + then: $addReviewers($getTeamMembers("shuriken")) + + - name: Base message and summary + run: + - if: $rule("First run state") + then: + - if: $countUserPullRequests($getAuthor()) == 1 + then: $info("Thanks for your first contribution!") + else: $info("Thanks for your contribution!") + - $warn("Please make sure the CI is green before merging.") + - $summarize() + + - name: Enforce conventional commits + run: + - if: $rule("Open PR state") + then: $titleLint() + + - name: Enforce head branch deletion + always-run: true + run: $deleteHeadBranch()