Run Incremental Builds on Handbook
Problem to solve
The build time for editing a Handbook page is frustratingly long, especially for those making many small changes throughout the day.
Proposal
Build only the source files that have changed.
Using a similar approach that we already use in PartialBuild to implement parallel builds, we could write logic to determine what source files changed as part of a given commit, and only build and deploy the necessary files. Periodic (daily?) full deploys would be done to remove deleted files.
This would require keeping some mapping and manifests to know which source files could require multiple other output files to be regenerated, e.g. templates, menus, scripts. However, we already have to maintain such manifests in other cases. Being more disciplined about repo organization and file naming conventions could make this easier.
Implementation details
Incremental builds should be the default, but there should be a way to force a full build.
Let's start by enabling this only for Handbook edits and make sure it's solid before applying it to other areas of the site (like blog, jobs, or other marketing pages).
Success criteria
Average pipeline time for handbook edits is < 10 minutes. Dashboard for measuring pipeline performance