Skip to content

Commit cf6da8f

Browse files
committed
ci: add governance workflows and rules, remove CODEOWNERS
1 parent 60c30a5 commit cf6da8f

4 files changed

Lines changed: 100 additions & 19 deletions

File tree

.github/CODEOWNERS

Lines changed: 0 additions & 19 deletions
This file was deleted.

.github/workflows/governance.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
name: PR Governance
3+
4+
on:
5+
pull_request_target:
6+
types: [
7+
opened,
8+
synchronize,
9+
reopened,
10+
ready_for_review,
11+
review_requested,
12+
review_request_removed,
13+
assigned,
14+
unassigned
15+
]
16+
workflow_run:
17+
workflows: ["PR Review Listener"]
18+
types: [completed]
19+
20+
jobs:
21+
governance:
22+
name: Reviews
23+
permissions:
24+
statuses: write
25+
contents: read
26+
pull-requests: read
27+
# Use the reusable workflow defined in the central governance repository
28+
# zizmor: ignore[ref-confusion]
29+
uses: Universal-Commerce-Protocol/.github/.github/workflows/reusable-governance.yml@main
30+
with:
31+
pr-number: ${{ github.event.pull_request.number }}
32+
commit-sha: ${{ github.event.pull_request.head.sha || github.event.workflow_run.head_sha }}
33+
secrets:
34+
# Required: An org-level Read token to read team memberships
35+
ORG_READ_TOKEN: ${{ secrets.ORG_READ_TOKEN }}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: PR Review Listener
2+
on:
3+
pull_request_review:
4+
types: [submitted, dismissed]
5+
6+
jobs:
7+
signal:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Signal success
11+
run: |
12+
echo "PR ${{ github.event.pull_request.number }} review state changed."
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Target Repository: .github
2+
# Repository URL: https://github.com/Universal-Commerce-Protocol/.github
3+
---
4+
rules:
5+
# ---------------------------------------------------------
6+
# Governance
7+
# ---------------------------------------------------------
8+
- name: "governance"
9+
patterns:
10+
- "GOVERNANCE.md"
11+
- "CONTRIBUTING.md"
12+
- "CODE_OF_CONDUCT.md"
13+
- "SECURITY.md"
14+
- "TC_ELECTIONS.md"
15+
- "LICENSE"
16+
- "DOMAIN_TECH_COUNCIL_CHARTER.md"
17+
requires:
18+
# Strictly Governance Council (L4)
19+
- team: "governance-council"
20+
min_approvals: 2
21+
22+
# ---------------------------------------------------------
23+
# Infrastructure, Tooling & Configuration (including org-tools)
24+
# ---------------------------------------------------------
25+
- name: "infra_and_tooling"
26+
patterns:
27+
- ".github/**"
28+
- "renovate.json"
29+
- ".pre-commit-config.yaml"
30+
- ".gitignore"
31+
- "org-tools/**"
32+
- "pyproject.toml"
33+
- "uv.lock"
34+
- "README.md"
35+
requires:
36+
# Grants access to devops (L1) and higher
37+
- min_team: "devops-maintainers"
38+
min_approvals: 2
39+
40+
fallback:
41+
requires:
42+
# Default for all files (*).
43+
- min_team: "governance-council"
44+
min_approvals: 2
45+
46+
proxy_reviewers:
47+
- amithanda
48+
49+
team_hierarchy:
50+
devops-maintainers: 1
51+
maintainers: 2
52+
tech-council: 3
53+
governance-council: 4

0 commit comments

Comments
 (0)