From 9f2f3152740fc221fe96709dd7b5c6e631d6dde4 Mon Sep 17 00:00:00 2001 From: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Date: Tue, 21 Jul 2026 19:27:37 +0000 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20implement=20issue=20#323=20?= =?UTF-8?q?=E2=80=94=20Compliance:=20ruleset-drift-pr-quality-require=5Fco?= =?UTF-8?q?de=5Fowner=5Freview?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/scripts/apply-pr-quality-ruleset.sh | 4 ++-- .../scripts/tests/apply-pr-quality-ruleset.bats | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/scripts/apply-pr-quality-ruleset.sh b/.github/scripts/apply-pr-quality-ruleset.sh index 6d038966..83aad22d 100755 --- a/.github/scripts/apply-pr-quality-ruleset.sh +++ b/.github/scripts/apply-pr-quality-ruleset.sh @@ -6,9 +6,9 @@ # petry-projects/markets. # # Pull-request rule parameters configured (codified standard, source of truth: -# petry-projects/.github/standards/rulesets/pr-quality.json — see #324): +# petry-projects/.github/standards/rulesets/pr-quality.json — see #323, #324): # - required_approving_review_count: 1 -# - require_code_owner_review: true +# - require_code_owner_review: true (drifted to false — issue #323) # - required_review_thread_resolution: true # - dismiss_stale_reviews_on_push: true (the drifted parameter — issue #324) # - require_last_push_approval: true diff --git a/.github/scripts/tests/apply-pr-quality-ruleset.bats b/.github/scripts/tests/apply-pr-quality-ruleset.bats index ca67c5fe..26f49834 100644 --- a/.github/scripts/tests/apply-pr-quality-ruleset.bats +++ b/.github/scripts/tests/apply-pr-quality-ruleset.bats @@ -3,7 +3,9 @@ # # The pull_request rule parameters asserted below are the codified standard # (petry-projects/.github/standards/rulesets/pr-quality.json), the source of -# truth referenced by issue #324. +# truth referenced by issues #323 and #324. require_code_owner_review (#323) +# and dismiss_stale_reviews_on_push (#324) are the parameters that drifted to +# false and must be codified as true. SCRIPT="$(cd "$(dirname "$BATS_TEST_FILENAME")/.." && pwd)/apply-pr-quality-ruleset.sh" @@ -24,6 +26,10 @@ SCRIPT="$(cd "$(dirname "$BATS_TEST_FILENAME")/.." && pwd)/apply-pr-quality-rule grep -qE '^[[:space:]]+name[[:space:]]*:[[:space:]]*"pr-quality"' "$SCRIPT" } +@test "script requires GH_TOKEN" { + grep -q 'GH_TOKEN' "$SCRIPT" +} + @test "script sets dismiss_stale_reviews_on_push to true (issue #324)" { grep -qE '^[[:space:]]+dismiss_stale_reviews_on_push[[:space:]]*:[[:space:]]*true[[:space:]]*,?[[:space:]]*$' "$SCRIPT" } @@ -32,7 +38,7 @@ SCRIPT="$(cd "$(dirname "$BATS_TEST_FILENAME")/.." && pwd)/apply-pr-quality-rule grep -qE '^[[:space:]]+required_approving_review_count[[:space:]]*:[[:space:]]*1[[:space:]]*,?[[:space:]]*$' "$SCRIPT" } -@test "script requires code owner review" { +@test "script requires code owner review (issue #323)" { grep -qE '^[[:space:]]+require_code_owner_review[[:space:]]*:[[:space:]]*true[[:space:]]*,?[[:space:]]*$' "$SCRIPT" } @@ -47,3 +53,7 @@ SCRIPT="$(cd "$(dirname "$BATS_TEST_FILENAME")/.." && pwd)/apply-pr-quality-rule @test "script allows only the squash merge method" { grep -qE '^[[:space:]]+allowed_merge_methods[[:space:]]*:[[:space:]]*\[[[:space:]]*"squash"[[:space:]]*\][[:space:]]*$' "$SCRIPT" } + +@test "script declares a pull_request rule type" { + grep -q 'type: "pull_request"' "$SCRIPT" +} From 62c74c075355096eb7fc980e712fced058c0dd7e Mon Sep 17 00:00:00 2001 From: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Date: Tue, 21 Jul 2026 19:38:21 +0000 Subject: [PATCH 2/3] chore: dev-lead update (review-changes) [skip ci-relay] --- .github/scripts/apply-pr-quality-ruleset.sh | 4 ++-- .github/scripts/tests/apply-pr-quality-ruleset.bats | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/scripts/apply-pr-quality-ruleset.sh b/.github/scripts/apply-pr-quality-ruleset.sh index 83aad22d..7a768236 100755 --- a/.github/scripts/apply-pr-quality-ruleset.sh +++ b/.github/scripts/apply-pr-quality-ruleset.sh @@ -40,8 +40,8 @@ export GH_TOKEN EXISTING_ID=$(gh api "repos/$REPO/rulesets" \ --jq ".[] | select(.name == \"$RULESET_NAME\") | .id") -PAYLOAD=$(jq -n '{ - name: "pr-quality", +PAYLOAD=$(jq -n --arg name "$RULESET_NAME" '{ + name: $name, target: "branch", enforcement: "active", conditions: { diff --git a/.github/scripts/tests/apply-pr-quality-ruleset.bats b/.github/scripts/tests/apply-pr-quality-ruleset.bats index 26f49834..79f96347 100644 --- a/.github/scripts/tests/apply-pr-quality-ruleset.bats +++ b/.github/scripts/tests/apply-pr-quality-ruleset.bats @@ -23,7 +23,7 @@ SCRIPT="$(cd "$(dirname "$BATS_TEST_FILENAME")/.." && pwd)/apply-pr-quality-rule } @test "script declares the pr-quality ruleset" { - grep -qE '^[[:space:]]+name[[:space:]]*:[[:space:]]*"pr-quality"' "$SCRIPT" + grep -qE 'RULESET_NAME\s*=\s*"pr-quality"' "$SCRIPT" } @test "script requires GH_TOKEN" { @@ -50,10 +50,10 @@ SCRIPT="$(cd "$(dirname "$BATS_TEST_FILENAME")/.." && pwd)/apply-pr-quality-rule grep -qE '^[[:space:]]+require_last_push_approval[[:space:]]*:[[:space:]]*true[[:space:]]*,?[[:space:]]*$' "$SCRIPT" } -@test "script allows only the squash merge method" { - grep -qE '^[[:space:]]+allowed_merge_methods[[:space:]]*:[[:space:]]*\[[[:space:]]*"squash"[[:space:]]*\][[:space:]]*$' "$SCRIPT" +@test "script restricts allowed_merge_methods to squash" { + grep -qE 'allowed_merge_methods:\s*\[\s*"squash"\s*\]' "$SCRIPT" } @test "script declares a pull_request rule type" { - grep -q 'type: "pull_request"' "$SCRIPT" + grep -qE 'type:\s*"pull_request"' "$SCRIPT" } From 82d3c0d491842f873d60a7949d21b18b1c7403be Mon Sep 17 00:00:00 2001 From: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Date: Sun, 2 Aug 2026 15:24:01 +0000 Subject: [PATCH 3/3] chore: dev-lead update (review-changes) [skip ci-relay] --- .github/scripts/apply-repo-settings.sh | 2 +- .github/scripts/tests/apply-repo-settings.bats | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/scripts/apply-repo-settings.sh b/.github/scripts/apply-repo-settings.sh index 773bac90..5079916a 100755 --- a/.github/scripts/apply-repo-settings.sh +++ b/.github/scripts/apply-repo-settings.sh @@ -61,7 +61,7 @@ echo "Applying code-quality required-status-checks ruleset ..." "$SCRIPT_DIR/apply-code-quality-ruleset.sh" -echo "Applying pr-quality required-review ruleset ..." +echo "Applying pr-quality pull-request review ruleset ..." "$SCRIPT_DIR/apply-pr-quality-ruleset.sh" diff --git a/.github/scripts/tests/apply-repo-settings.bats b/.github/scripts/tests/apply-repo-settings.bats index 6ab7c21c..570edf38 100755 --- a/.github/scripts/tests/apply-repo-settings.bats +++ b/.github/scripts/tests/apply-repo-settings.bats @@ -34,6 +34,6 @@ SCRIPT="$(cd "$(dirname "$BATS_TEST_FILENAME")/.." && pwd)/apply-repo-settings.s grep -q 'apply-code-quality-ruleset.sh' "$SCRIPT" } -@test "script wires in pr-quality ruleset application (issue #324)" { +@test "script wires in pr-quality ruleset application (issues #323, #324)" { grep -q 'apply-pr-quality-ruleset.sh' "$SCRIPT" }