Back to projects

Publication Rail

A deployment path for static output that stays separate from the authoring repo

Publication Rail is the smallest useful deployment boundary for this project: build locally, publish statically, and keep the authoring repository separate from the output repository.

Problem

The public site needs a repeatable deployment path, but it does not need a server. The publish step should therefore be easy to audit and easy to replace.

Architecture

GitHub Actions runs the build and then pushes only the dist/ folder to the Pages repository. The token is stored as a secret, and the workflow keeps the source repo free of deploy credentials.

Highlights

  • Source repo remains the system of record
  • Output repo receives only generated files
  • The deploy secret is documented, not embedded