From 05a689b4f73d37188aebb9c70bddb2614036835c Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Sat, 18 May 2024 04:37:42 +0100 Subject: [PATCH 01/18] Update core-developers.yml --- review-policies/core-developers.yml | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/review-policies/core-developers.yml b/review-policies/core-developers.yml index 6b42131..1c09868 100644 --- a/review-policies/core-developers.yml +++ b/review-policies/core-developers.yml @@ -3,7 +3,7 @@ policy: - or: - and: - core dev - - staff or contributor + - staff - events - events - tag speedrun @@ -78,22 +78,11 @@ approval_rules: - "pydis_site/apps/content/resources/.*" - "pydis_site/apps/resources/resources/.*" - "pydis_site/static/images/.*" -- name: staff or contributor - description: Two members of the staff or contributors team must leave an approval +- name: staff + description: Two members of the staff team must leave an approval requires: count: 2 organizations: ["python-discord"] - users: - - ByteCommander - - mathsman5133 - - slushiegoose - - F4zii - - kingdom5500 - - hedyhli - - Refisio - - riffautae - - doublevcodes - - Ibrahim2750mi options: ignore_update_merges: true - name: devops @@ -107,6 +96,8 @@ approval_rules: paths: - ".github/workflows/*" - "Dockerfile" + - "deployment.yml" + - "deployment.yaml" options: request_review: enabled: true From 05fe403db1cdcc4dea41913fb3587604c953c8a7 Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Tue, 22 Jul 2025 16:23:50 +0100 Subject: [PATCH 02/18] Update core-developers.yml --- review-policies/core-developers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/review-policies/core-developers.yml b/review-policies/core-developers.yml index 1c09868..01ab49b 100644 --- a/review-policies/core-developers.yml +++ b/review-policies/core-developers.yml @@ -126,7 +126,7 @@ approval_rules: teams: - "python-discord/admins" if: - only_changed_files: + changed_files: paths: - "pydis_site/apps/events/*" - "pydis_site/templates/events/*" From 86ca0063dc4a7542be95b1168255986eed2a9eb5 Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Tue, 22 Jul 2025 16:25:19 +0100 Subject: [PATCH 03/18] Update core-developers.yml --- review-policies/core-developers.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/review-policies/core-developers.yml b/review-policies/core-developers.yml index 01ab49b..be51fe1 100644 --- a/review-policies/core-developers.yml +++ b/review-policies/core-developers.yml @@ -126,8 +126,9 @@ approval_rules: teams: - "python-discord/admins" if: - changed_files: + only_changed_files: paths: + - "pydis_site/static/images/events/*" - "pydis_site/apps/events/*" - "pydis_site/templates/events/*" options: From 9ffeef63b8b453b240633af7b93cbd1cd9273fe4 Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Tue, 22 Jul 2025 22:25:08 +0100 Subject: [PATCH 04/18] Update core-developers.yml --- review-policies/core-developers.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/review-policies/core-developers.yml b/review-policies/core-developers.yml index be51fe1..fdb18ce 100644 --- a/review-policies/core-developers.yml +++ b/review-policies/core-developers.yml @@ -58,6 +58,7 @@ approval_rules: organizations: ["python-discord"] options: ignore_update_merges: true + allow_non_author_contributor: true if: only_changed_files: paths: From d9120b48434d598f0f69e123983fdcd24506056f Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Tue, 22 Jul 2025 22:29:02 +0100 Subject: [PATCH 05/18] Update core-developers.yml --- review-policies/core-developers.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/review-policies/core-developers.yml b/review-policies/core-developers.yml index fdb18ce..56d531a 100644 --- a/review-policies/core-developers.yml +++ b/review-policies/core-developers.yml @@ -40,6 +40,7 @@ approval_rules: - "python-discord/core-developers" options: ignore_update_merges: true + invalidate_on_push: true - name: tag speedrun description: A PR that only changes tags for the Python Discord Bot requires: From 39dea03d389436244fec041b0e3e4b1e480a1521 Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Wed, 23 Jul 2025 02:00:27 +0100 Subject: [PATCH 06/18] Create default.yml --- review-policies/default.yml | 67 +++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 review-policies/default.yml diff --git a/review-policies/default.yml b/review-policies/default.yml new file mode 100644 index 0000000..d25f94b --- /dev/null +++ b/review-policies/default.yml @@ -0,0 +1,67 @@ +policy: + approval: + - core dev or devops + - devops + + # Rules for disapproving + disapproval: + options: + # Both disapproving and approving should be handled through the GitHub UI + methods: + disapprove: + github_review: true + + revoke: + github_review: true + + # Any python-discord organisation member can leave a disapproving review + requires: + organizations: ["python-discord"] + + +approval_rules: +- name: core dev or devops + description: Approval by either a Core Dev or DevOps team member + requires: + count: 1 + teams: + - "python-discord/core-developers" + - "python-discord/devops" + options: + ignore_update_merges: true + invalidate_on_push: true + allow_non_author_contributor: true +- name: devops + description: If CI or Dockerfiles are changed then the DevOps team must be requested for a review + requires: + count: 1 + teams: + - "python-discord/devops" + if: + changed_files: + paths: + - ".github/workflows/*" + - "Dockerfile" + - "deployment.yml" + - "deployment.yaml" + options: + request_review: + enabled: true + mode: teams + ignore_update_merges: true + allow_non_author_contributor: true +- name: devops (manual) + description: 'A manual request with the "review: needs devops" label' + requires: + count: 1 + teams: + - "python-discord/devops" + if: + has_labels: + - "review: needs devops" + options: + request_review: + enabled: true + mode: teams + ignore_update_merges: true + allow_non_author_contributor: true From 9a0c3ac51b7a0f2984462e72752df647ab76b292 Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Wed, 23 Jul 2025 02:02:48 +0100 Subject: [PATCH 07/18] Update default.yml --- review-policies/default.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/review-policies/default.yml b/review-policies/default.yml index d25f94b..a6ce949 100644 --- a/review-policies/default.yml +++ b/review-policies/default.yml @@ -2,6 +2,7 @@ policy: approval: - core dev or devops - devops + - devops (manual) # Rules for disapproving disapproval: @@ -29,7 +30,6 @@ approval_rules: - "python-discord/devops" options: ignore_update_merges: true - invalidate_on_push: true allow_non_author_contributor: true - name: devops description: If CI or Dockerfiles are changed then the DevOps team must be requested for a review From 9c698c3fe3edf5547d0e4d62ede8024beafa9638 Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Wed, 23 Jul 2025 02:05:40 +0100 Subject: [PATCH 08/18] DevOps policies update --- review-policies/core-developers.yml | 5 ++++- review-policies/default.yml | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/review-policies/core-developers.yml b/review-policies/core-developers.yml index 56d531a..ca06b2a 100644 --- a/review-policies/core-developers.yml +++ b/review-policies/core-developers.yml @@ -96,10 +96,13 @@ approval_rules: if: changed_files: paths: - - ".github/workflows/*" + - ".github/*" - "Dockerfile" - "deployment.yml" - "deployment.yaml" + - ".pre-commit-config.yaml" + - "pyproject.toml" + - "docker-compose.yml" options: request_review: enabled: true diff --git a/review-policies/default.yml b/review-policies/default.yml index a6ce949..ec60480 100644 --- a/review-policies/default.yml +++ b/review-policies/default.yml @@ -40,10 +40,13 @@ approval_rules: if: changed_files: paths: - - ".github/workflows/*" + - ".github/*" - "Dockerfile" - "deployment.yml" - "deployment.yaml" + - ".pre-commit-config.yaml" + - "pyproject.toml" + - "docker-compose.yml" options: request_review: enabled: true From ae0985f4c4c213fe6948e9686d00e7de327d6a25 Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Sat, 9 Aug 2025 22:04:27 +0100 Subject: [PATCH 09/18] Update core-developers.yml --- review-policies/core-developers.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/review-policies/core-developers.yml b/review-policies/core-developers.yml index ca06b2a..36f9548 100644 --- a/review-policies/core-developers.yml +++ b/review-policies/core-developers.yml @@ -87,6 +87,7 @@ approval_rules: organizations: ["python-discord"] options: ignore_update_merges: true + allow_non_author_contributor: true - name: devops description: If CI or Dockerfiles are changed then the DevOps team must be requested for a review requires: From bf4f3cdccec5fa97d6d82728ac47337bd15c6407 Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Tue, 16 Sep 2025 09:30:02 +0100 Subject: [PATCH 10/18] Attempt to allow dependabot PRs to bypass still --- review-policies/core-developers.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/review-policies/core-developers.yml b/review-policies/core-developers.yml index 36f9548..2dbbca8 100644 --- a/review-policies/core-developers.yml +++ b/review-policies/core-developers.yml @@ -11,7 +11,9 @@ policy: - or: - site content (staff) - site content (admin) - - devops + - or: + - devops + - dependabot - devops (manual) - do not merge From 79b6be75ebd30ebcbd594d021ba26f0d4a7988e0 Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Tue, 16 Sep 2025 09:34:25 +0100 Subject: [PATCH 11/18] Tighten dependabot approval rule --- review-policies/core-developers.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/review-policies/core-developers.yml b/review-policies/core-developers.yml index 2dbbca8..0da6cc4 100644 --- a/review-policies/core-developers.yml +++ b/review-policies/core-developers.yml @@ -152,6 +152,11 @@ approval_rules: teams: - "python-discord/core-developers" if: + only_changed_files: + paths: + - "pyproject.toml" + - "poetry.lock" + - "uv.lock" has_author_in: users: ["dependabot[bot]"] author_is_only_contributor: true From 59aefc00bb72a8f08836d15a611bed5e66591964 Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Tue, 23 Sep 2025 19:57:18 +0100 Subject: [PATCH 12/18] Fix DevOps review pattern in default policy --- review-policies/default.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/review-policies/default.yml b/review-policies/default.yml index ec60480..728a838 100644 --- a/review-policies/default.yml +++ b/review-policies/default.yml @@ -40,7 +40,7 @@ approval_rules: if: changed_files: paths: - - ".github/*" + - "^\.github/" - "Dockerfile" - "deployment.yml" - "deployment.yaml" From c27b3cfbf08eea8726be599eeb94c8c3b51f4d13 Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Tue, 23 Sep 2025 19:58:05 +0100 Subject: [PATCH 13/18] Fix globs that should be regex --- review-policies/core-developers.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/review-policies/core-developers.yml b/review-policies/core-developers.yml index 0da6cc4..e98b5e8 100644 --- a/review-policies/core-developers.yml +++ b/review-policies/core-developers.yml @@ -99,7 +99,7 @@ approval_rules: if: changed_files: paths: - - ".github/*" + - "^\.github/" - "Dockerfile" - "deployment.yml" - "deployment.yaml" @@ -136,9 +136,9 @@ approval_rules: if: only_changed_files: paths: - - "pydis_site/static/images/events/*" - - "pydis_site/apps/events/*" - - "pydis_site/templates/events/*" + - "^pydis_site/static/images/events/.*" + - "^pydis_site/apps/events/.*" + - "^pydis_site/templates/events/.*" options: request_review: enabled: true From c163e1ba406eeca8788ad1969b718e96ab1c8918 Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Tue, 23 Sep 2025 19:59:26 +0100 Subject: [PATCH 14/18] Update to single quotes for escape parsing Change quotes in file paths from double to single quotes. --- review-policies/core-developers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/review-policies/core-developers.yml b/review-policies/core-developers.yml index e98b5e8..01ca16c 100644 --- a/review-policies/core-developers.yml +++ b/review-policies/core-developers.yml @@ -99,7 +99,7 @@ approval_rules: if: changed_files: paths: - - "^\.github/" + - '^\.github/' - "Dockerfile" - "deployment.yml" - "deployment.yaml" From c955b387acc2cdaaa1138b250d8984cb371ba234 Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Tue, 23 Sep 2025 20:00:08 +0100 Subject: [PATCH 15/18] Fix quotes in default.yml for changed_files paths --- review-policies/default.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/review-policies/default.yml b/review-policies/default.yml index 728a838..3b1a1c2 100644 --- a/review-policies/default.yml +++ b/review-policies/default.yml @@ -40,7 +40,7 @@ approval_rules: if: changed_files: paths: - - "^\.github/" + - '^\.github/' - "Dockerfile" - "deployment.yml" - "deployment.yaml" From eb5b59c9ac38c1bea6fd92cbdde9908213294e3b Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Tue, 23 Sep 2025 20:00:33 +0100 Subject: [PATCH 16/18] Update file path pattern in forms.yml --- review-policies/forms.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/review-policies/forms.yml b/review-policies/forms.yml index 7f45e29..b6816cd 100644 --- a/review-policies/forms.yml +++ b/review-policies/forms.yml @@ -51,7 +51,7 @@ approval_rules: if: changed_files: paths: - - ".github/workflows/*" + - '^\.github/' - "Dockerfile" options: request_review: From 0d2643e2c6bed1eddaffbf7768ba690024eec163 Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Sun, 9 Nov 2025 14:15:39 +0000 Subject: [PATCH 17/18] Add Events team approval policy --- review-policies/events.yml | 71 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 review-policies/events.yml diff --git a/review-policies/events.yml b/review-policies/events.yml new file mode 100644 index 0000000..83db15b --- /dev/null +++ b/review-policies/events.yml @@ -0,0 +1,71 @@ +policy: + approval: + - core devs, devops or events + - devops + - devops (manual) + + # Rules for disapproving + disapproval: + options: + # Both disapproving and approving should be handled through the GitHub UI + methods: + disapprove: + github_review: true + + revoke: + github_review: true + + # Any python-discord organisation member can leave a disapproving review + requires: + organizations: ["python-discord"] + + +approval_rules: +- name: core devs, devops or events + description: Approval by either a Core Dev, a DevOps team member or an Events Team member + requires: + count: 1 + teams: + - "python-discord/core-developers" + - "python-discord/devops" + - "python-discord/events" + options: + ignore_update_merges: true + allow_non_author_contributor: true +- name: devops + description: If CI or Dockerfiles are changed then the DevOps team must be requested for a review + requires: + count: 1 + teams: + - "python-discord/devops" + if: + changed_files: + paths: + - '^\.github/' + - "Dockerfile" + - "deployment.yml" + - "deployment.yaml" + - ".pre-commit-config.yaml" + - "pyproject.toml" + - "docker-compose.yml" + options: + request_review: + enabled: true + mode: teams + ignore_update_merges: true + allow_non_author_contributor: true +- name: devops (manual) + description: 'A manual request with the "review: needs devops" label' + requires: + count: 1 + teams: + - "python-discord/devops" + if: + has_labels: + - "review: needs devops" + options: + request_review: + enabled: true + mode: teams + ignore_update_merges: true + allow_non_author_contributor: true From d89f1b58aa1b844ad73eec63daaabc7e7d3e9d1b Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Sun, 9 Nov 2025 14:20:04 +0000 Subject: [PATCH 18/18] Update approval policy structure in events.yml Refactor approval policy to separate core devs, devops, and events. Add options for events approval. --- review-policies/events.yml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/review-policies/events.yml b/review-policies/events.yml index 83db15b..d40f898 100644 --- a/review-policies/events.yml +++ b/review-policies/events.yml @@ -1,6 +1,8 @@ policy: approval: - - core devs, devops or events + - or: + - core devs or devops + - events - devops - devops (manual) @@ -21,17 +23,28 @@ policy: approval_rules: -- name: core devs, devops or events - description: Approval by either a Core Dev, a DevOps team member or an Events Team member +- name: core devs or devops + description: Approval by either a Core Dev or a DevOps team member requires: count: 1 teams: - "python-discord/core-developers" - "python-discord/devops" + options: + ignore_update_merges: true + allow_non_author_contributor: true +- name: events + description: Approval by a member of the Events Team + requires: + count: 1 + teams: - "python-discord/events" options: ignore_update_merges: true allow_non_author_contributor: true + request_review: + enabled: true + mode: teams - name: devops description: If CI or Dockerfiles are changed then the DevOps team must be requested for a review requires: