Correct Deploy-Site Script Inventory in Reusable-Workflows Doc - #927
Conversation
Blog is the reference adoption for the hub-hosted deploy-site-task.yml, and its actual layout is two scripts (deploy/make-release.sh, checks/check-live-urls.sh), not the three the doc assumed. Works through the build/prune/verify hook split against Blog's real make-release.sh: where the hub-owned upload/flip boundary actually falls, why the build mode's own hard-link check is inert in CI, and why prune mode is a no-op for Blog (a write-only deploy credential, retention owned by a host-side timer instead). Also surfaces and tracks a real gap found along the way: verify mode has no secret handoff for a repo (Blog included) that gates a non-production environment behind a token. Fixes #925 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can commit Qodo's fix in one click with committable suggestions (GitHub & GitLab) |
PR Summary by QodoFix deploy-site adoption docs to match Blog’s real scripts and hook modes
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
There was a problem hiding this comment.
🟢 Approval recommended
Documentation-only changes that are consistent with the current deploy-site-task.yml hook invocation contract and improve accuracy for the reference adoption case.
Pull request overview
Updates the reusable workflows documentation to align the Deploy-site adoption guidance with Blog's real deploy script layout, and to document the practical implications of the build/prune/verify hook split.
Changes:
- Correct Deploy-site reference inventory to two scripts (no
deploy/prune-releases.sh) and walk through how Blog maps tobuild/prune/verify. - Clarify the boundary between hub-owned upload/flip steps and repo-owned
buildmode behavior (bundle-path vs. live environment root). - Add a tracked checklist item noting that
verifymode currently has no secret-forwarding path for token-gated staging checks (e.g., Blog’s PANGOLIN token pair).
File summaries
| File | Description |
|---|---|
| docs/reusable-workflows.md | Fixes Deploy-site adoption guidance to match Blog’s real script inventory and documents the current verify-mode secret-forwarding gap. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 4 remain after this review. 📝 WalkthroughWalkthroughThe deploy-site adoption documentation now describes Blog’s two-script hook workflow, mode-specific behavior, environment variables, hub-owned upload and activation steps, and the pending staging-auth secret handoff decision. ChangesDeploy-site adoption guidance
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to This documentation-only change corrects the Deploy-site script inventory and clarifies the documented workflow behavior. No actionable merge-blocking risk remains after normal checks and review. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Fixes #925.
The "Deploy-site" adoption section in
docs/reusable-workflows.mdassumed Blog's deploy carries three scripts (deploy/make-release.sh,deploy/prune-releases.sh,checks/check-live-urls.sh) folding 1:1 into the hub's three-modedeployhook invocation (build/prune/verify). Blog's actual repo has nodeploy/prune-releases.sh, retention is the tail ofmake-release.shitself.This works through the build/prune/verify split against Blog's real
deploy/make-release.shandchecks/check-live-urls.sh, as the reference adoption the issue asked for:buildmode begins, sincemake-release.sh's own swap-and-prune tail runs entirely against the ephemeralbundle-pathscratch tree the hook is passed, never the live host.make-release.sh's internal hard-link-against-previous check is inert in CI (the scratch tree is empty every run, so it never has a previous release to compare against), and that the property that actually matters for the fleet's retention floor is the hub-owned remote--link-dest, which nothing currently asserts a floor on.prunemode is a no-op for Blog specifically: its deploy credential is a forcedrsynccommand confined write-only, so it can't observe or delete the remote destination, and retention there is owned by a host-side timer instead (already recorded in Blog's ownOPERATIONS.md), a patterndeploy-site-task.yml's own code comments already anticipate.Along the way this surfaced a real, separate gap:
verifymode has no secret-forwarding path for a repo that gates a non-production environment behind a token, the way Blog'schecks/check-live-urls.shneedsPANGOLIN_ACCESS_TOKEN_ID/PANGOLIN_ACCESS_TOKENfor its staging auth gate.deploy-site-task.ymldeclares no such secret today. That's tracked as a new open checklist item rather than solved here, since the shape (a named pair vs. a generic passthrough) is its own design decision.No code changes,
docs/reusable-workflows.mdonly. Verified locally:prose_lint.py --diff HEADclean,repo_gate.py --check eolclean,markdownlint-cli2clean.🤖 Generated with Claude Code
Summary by CodeRabbit