Live and Local Dev Workflow Design
Status: Approved
Goal: Keep the existing gps.co.za GitHub Pages site stable while providing a separate local development copy for reviewing changes before publishing them to master.
Architecture
- The current checkout remains the live repository and stays on the
masterbranch. - A sibling checkout at
C:\Users\dms\OneDrive\Documents\GPS Webpage-devis created from the current live state and uses adevbranch. - The dev checkout uses the repository’s existing Jekyll server command and is previewed at
http://localhost:4000. - The existing GitHub Actions workflow remains unchanged: pushes to
masterbuild and deploy the site tohttps://gps.co.za.
Workflow
- Make website changes in the
GPS Webpage-devcheckout. - Run the existing local Jekyll server and review the result at
http://localhost:4000. - Commit development changes to the
devbranch. - When the changes are approved, merge
devintomaster. - Push
masterto the existing GitHub repository. - Confirm the GitHub Pages deployment completes and the live site reflects the approved changes.
Safety and Verification
- Confirm the live checkout is on
masterbefore publishing. - Confirm the dev checkout is on
devbefore making development edits. - Verify the Jekyll site builds locally before merging.
- Do not copy or publish the generated
_sitedirectory as part of the workflow setup. - Do not change the existing Pages workflow or the live
CNAMEconfiguration. - Document the repeatable commands for starting the dev preview and publishing approved changes.
Alternatives Considered
Separate GitHub Pages repository
This would provide a public generated URL such as https://devinshark.github.io/GPS.co.za-dev/, but requires a second repository and a second Pages deployment path.
dev.gps.co.za subdomain
This would provide a polished public URL, but requires DNS and custom-domain configuration that is unnecessary for the requested review workflow.
The local dev checkout is preferred because it is the smallest reliable change and preserves the existing live deployment path.