Skip to content

Commit 47b6d47

Browse files
committed
fix: restore semantic closure owner boundary
1 parent dd26318 commit 47b6d47

3 files changed

Lines changed: 13 additions & 12 deletions

File tree

.github/workflows/reviewer-bot-sweeper-repair.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212
type: choice
1313
options: [sync-members, show-state, check-overdue, repair-review-status-labels]
1414
issue_number:
15-
description: Optional issue or PR number for targeted reviewer-board preview
15+
description: Optional issue or PR number for targeted actions
1616
required: false
1717
type: string
1818

@@ -70,6 +70,8 @@ jobs:
7070
WORKFLOW_RUN_ID: ${{ github.run_id }}
7171
WORKFLOW_NAME: ${{ github.workflow }}
7272
WORKFLOW_JOB_NAME: ${{ github.job }}
73+
REVIEWER_BOARD_ENABLED: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.action == 'preview-reviewer-board' && 'true' || 'false' }}
74+
REVIEWER_BOARD_TOKEN: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.action == 'preview-reviewer-board' && secrets.REVIEWER_BOARD_TOKEN || '' }}
7375
run: uv run --project "$BOT_SRC_ROOT" reviewer-bot
7476
- name: Workflow summary
7577
run: |

tests/contract/reviewer_bot/test_preview_workflow_contracts.py

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,7 @@ def test_preview_workflow_remains_sole_retained_owner_of_preview_actions():
3333
sweeper_on_block = sweeper_data.get("on", sweeper_data.get(True))
3434
sweeper_action_input = sweeper_on_block["workflow_dispatch"]["inputs"]["action"]
3535

36-
assert sweeper_action_input["options"] == [
37-
"sync-members",
38-
"show-state",
39-
"check-overdue",
40-
"repair-review-status-labels",
41-
]
42-
assert "REVIEWER_BOARD_ENABLED:" not in sweeper_text
43-
assert "REVIEWER_BOARD_TOKEN:" not in sweeper_text
36+
assert "preview-reviewer-board" not in sweeper_action_input["options"]
4437

4538

4639
def test_preview_workflow_run_name_and_env_contract_are_frozen():

tests/contract/reviewer_bot/test_reviewer_board_workflow_contracts.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,17 @@ def test_sweeper_repair_workflow_removes_reviewer_board_preview_dispatch():
1717
assert issue_number_input["required"] is False
1818
assert issue_number_input["type"] == "string"
1919

20-
def test_sweeper_repair_workflow_no_longer_exports_reviewer_board_preview_env():
20+
def test_sweeper_repair_workflow_retains_reviewer_board_env_wiring_without_dispatch_option():
2121
workflow_text = Path(".github/workflows/reviewer-bot-sweeper-repair.yml").read_text(encoding="utf-8")
2222
assert "ISSUE_NUMBER: ${{ github.event.inputs.issue_number }}" in workflow_text
23-
assert "REVIEWER_BOARD_ENABLED:" not in workflow_text
24-
assert "REVIEWER_BOARD_TOKEN:" not in workflow_text
23+
assert (
24+
"REVIEWER_BOARD_ENABLED: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.action == 'preview-reviewer-board' && 'true' || 'false' }}"
25+
in workflow_text
26+
)
27+
assert (
28+
"REVIEWER_BOARD_TOKEN: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.action == 'preview-reviewer-board' && secrets.REVIEWER_BOARD_TOKEN || '' }}"
29+
in workflow_text
30+
)
2531

2632

2733
def test_sweeper_repair_workflow_exports_retained_manual_dispatch_env_contract():

0 commit comments

Comments
 (0)