From 5092cd7f27e379fe956b600e0a6b6e49f458c53f Mon Sep 17 00:00:00 2001 From: Adam Moussa Date: Thu, 18 Jun 2026 16:26:39 -0400 Subject: [PATCH] Add boilerplate, CI caller, and point review gate at test team Adds a minimal Python module + .gitignore + a ci.yaml caller (ci-python-app) so the repo emits ci / ci like a real repo, and switches the required-review caller to the throwaway review-test-approvers team so the live luby / internal-dev teams are not involved during validation. --- .github/workflows/ci.yaml | 17 +++++++++++++++++ .github/workflows/required-review.yml | 4 +++- .gitignore | 12 ++++++++++++ app.py | 20 ++++++++++++++++++++ 4 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/ci.yaml create mode 100644 .gitignore create mode 100644 app.py diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..5e4e049 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,17 @@ +name: CI + +# Test CI for the review-policy test repo. Calls the org reusable Python-app CI +# so this repo emits the `ci / ci` status check, the same way a real repo does — +# letting us validate how the required-review gate coexists with another required +# check under branch protection. `collect-only: false` skips the pytest job (this +# repo has no requirements.txt); the lint job (ruff + conventions) is enough. + +on: + pull_request: + branches: [main, dev] + +jobs: + ci: + uses: Sea-Haven-Industries/.github/.github/workflows/ci-python-app.yaml@main + with: + collect-only: false diff --git a/.github/workflows/required-review.yml b/.github/workflows/required-review.yml index b8387a2..dc50752 100644 --- a/.github/workflows/required-review.yml +++ b/.github/workflows/required-review.yml @@ -21,7 +21,9 @@ jobs: required-review: uses: Sea-Haven-Industries/.github/.github/workflows/callable-required-review.yaml@feat/required-review-workflow with: - all-of-teams: "luby,internal-dev" + # Test team (just Adam) so the real luby / internal-dev teams are not + # involved while validating. Switch to "luby,internal-dev" for production. + all-of-teams: "review-test-approvers" secrets: app_id: ${{ secrets.REVIEW_POLICY_APP_ID }} app_private_key: ${{ secrets.REVIEW_POLICY_APP_PRIVATE_KEY }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..731112f --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +# Python +__pycache__/ +*.py[cod] +.venv/ +venv/ + +# Secrets / local config +.env +.env.* + +# OS / editor +.DS_Store diff --git a/app.py b/app.py new file mode 100644 index 0000000..e1ad34a --- /dev/null +++ b/app.py @@ -0,0 +1,20 @@ +"""Boilerplate module for the review-policy test repo. + +This repo exists only to validate the multi-team required-review workflow and the +branch-protection rulesets before they are applied to the real shoc repos. It is +disposable and will be deleted once the gate is confirmed working. +""" + + +def greet(name: str) -> str: + """Return a friendly greeting for the given name.""" + return f"Hello, {name}!" + + +def add(a: int, b: int) -> int: + """Return the sum of two integers.""" + return a + b + + +if __name__ == "__main__": + print(greet("review-policy"))