55 lines
2.3 KiB
Markdown
55 lines
2.3 KiB
Markdown
---
|
|
id: "05-dedicated-workflow-pr-link"
|
|
title: "Separate walkthrough workflow and link it from the PR body"
|
|
status: done
|
|
wave: 4
|
|
depends_on: ["04-r2-html-publication"]
|
|
plan: "plan.md"
|
|
spec: "../../specs/pr-walkthrough/spec.md"
|
|
---
|
|
|
|
# Task 05: Separate walkthrough workflow and link it from the PR body
|
|
|
|
Move walkthrough generation and publication out of the OpenCode review
|
|
workflow. Give walkthroughs their own enable variable and model configuration,
|
|
then add a post-publication job that makes the hosted page prominent without
|
|
taking ownership of contributor-authored PR content.
|
|
|
|
- **Acceptance:** `.github/workflows/pr-walkthrough.yml` contains generation,
|
|
R2 publication, and PR linking. `.github/workflows/opencode-code-review.yml`
|
|
contains no walkthrough jobs.
|
|
- **Acceptance:** `PR_WALKTHROUGH_ENABLED` controls the walkthrough workflow
|
|
independently of `OPENCODE_REVIEW_ENABLED`.
|
|
- **Acceptance:** The walkthrough runner selects
|
|
`opencode-go/muse-spark-1.2-contributor#high`, which selects the model's
|
|
native high-reasoning variant in pinned OpenCode 1.17.7.
|
|
- **Acceptance:** Only the final job receives `pull-requests: write`. It runs
|
|
after public R2 validation, uses the trusted base-commit helper, and receives
|
|
no OpenCode or R2 credential.
|
|
- **Acceptance:** The helper places one marker-owned GitHub alert at the top of
|
|
the PR description, replaces it idempotently on rerun, preserves all other
|
|
content, and fails closed on invalid markers or mismatched PR identity.
|
|
- **Verification:**
|
|
|
|
```text
|
|
python3 .github/scripts/pr-walkthrough-workflow-contract_test.py
|
|
python3 scripts/pr-walkthrough-pr-body.test.py
|
|
actionlint .github/workflows/pr-walkthrough.yml
|
|
zizmor .github/workflows/pr-walkthrough.yml
|
|
git diff --check
|
|
```
|
|
|
|
- **Files likely touched:** `.github/workflows/pr-walkthrough.yml`,
|
|
`.github/workflows/opencode-code-review.yml`,
|
|
`.github/scripts/pr-walkthrough-workflow-contract_test.py`,
|
|
`scripts/pr-walkthrough-pr-body`, and
|
|
`scripts/pr-walkthrough-pr-body.test.py`.
|
|
|
|
## Results
|
|
|
|
Created the dedicated workflow and independent gate. Selected Muse Spark's
|
|
native high-reasoning variant and validated it in the pinned 1.17.7 model
|
|
catalog. Added the marker-owned PR-body helper and a
|
|
minimum-permission link job after R2 public validation. Contract and helper
|
|
tests pass.
|