2026-05-10 | π Manual Deploy Trigger for PR Testing π€
π― The Problem
π The deploy workflow for this site previously ran only on pushes to the main branch. πΏ There was no way to deploy a pull-request branch to the live site to test it without merging first. π¬ That forced an uncomfortable choice: merge untested code, or rely on local previews that may not match production exactly.
π οΈ The Solution
π±οΈ A single workflow_dispatch trigger was added to the deploy workflow. π This is a built-in GitHub Actions event type that adds a βRun workflowβ button directly in the GitHub Actions UI. πΏ It can be triggered from any branch, running the complete pipeline β build, deploy, and audit β against whatever branch is selected.
π The change is deliberately minimal. β One line added to the on: block of the workflow file is all it takes. π No branch guards, no conditional logic, no new jobs. π§© GitHub Actions handles the rest: the chosen branch is checked out and deployed exactly as if it had been pushed to main.
π§ͺ How to Use It
π₯οΈ Navigate to the Actions tab in the GitHub repository. π Select the βDeploy Quartz site to GitHub Pagesβ workflow from the left sidebar. πΏ Click βRun workflow,β choose the branch you want to test from the dropdown, and click the green button. π Watch all three jobs β build, deploy, and audit β run to completion. β The live site will reflect the selected branch until the next push to main overwrites it.
π Design Principle: Prefer the Simplest Correct Solution
π§± An earlier draft of this change added branch-guarding conditions to prevent non-main branches from overwriting the live site. π That design was well-intentioned but missed the point of the request: the whole value of the manual trigger is to see the branch on the live site. π« Guarding against that defeats the purpose.
βοΈ The simpler solution β just workflow_dispatch: β is also the correct one. π§ When a feature can be delivered with one line instead of ten, the one-line version wins. π Fewer moving parts means fewer ways to be wrong.
π Book Recommendations
π Similar
- Continuous Delivery by Jez Humble and David Farley is relevant because it argues for making deployment a routine, low-friction activity β exactly what a manual dispatch button provides.
- Release It! by Michael T. Nygard is relevant because it addresses pragmatic strategies for managing deployments in the real world, including the value of being able to deploy on demand.
βοΈ Contrasting
- The Pragmatic Programmer by David Thomas and Andrew Hunt emphasizes automation and removing manual steps from workflows β a contrasting philosophy to deliberately adding a manual trigger, though here the trigger enables testing rather than replacing it.
π Related
- The DevOps Handbook by Gene Kim, Patrick Debois, John Willis, and Jez Humble is relevant because it frames fast feedback loops and on-demand deployment as foundational practices for high-performing engineering teams.