Open rukai opened 2 days ago
Turns out I misremembered and github pages does not support a way to update portions of a deployed "github pages" while keeping the rest untouched. We can keep the same layout but will need to redeploy all versions every commit. This should be doable as regenerating a version should be pretty fast.
publish-website.yaml
to run on every merged PR to:
/docs/main
/docs/latest
/
/docs/vx.y
as well as latest.v0.y
/vx
hosting
We are moving the hosting from netlify to github pages.
Possibly we would want to host the docs and marketing parts of the websites on different github pages:
However I'm worried about complications due to needing to pay for hosting separately for these repos. So in this design I'm going to go ahead with hosting it all in this github pages, but there will be a separate repo with the website for two reasons:
To achieve this with one hosted repo, on every commit to shotover we will clone from the shotover-website repo, build it and deploy to the root of the github pages branch.
pages
shotover.io/index.html
contains all the marketingshotover.io/docs/vx.y/
exists for every breaking version of shotover releasedv0.5
,v0.6
,v1
,v2
v0.5.1
replacesv0.5
shotover.io/docs/latest/
contains docs for the latest released versionshotover.io/docs/main/
contains docs for the latest main versionshotover.io/docs/index.html
contains links to all docs versions + latest (but not main which remains unlisted)Alter github actions release workflow to run mdbook and include the contents in latest and the current
vx.y
directory.Downsides:
Implementation Chunking
Add new workflowpublish-main-to-pages.yaml
to run on every merged PR to:generate mdbook docs at the shotover repo github pages at/docs/main
the purpose of this is to allow us to preview the website before changes reach a release.this also immediately gives us a way to view current docs before we even transfer the domain over.Alter release workflow to:generate mdbook docs at the shotover repo github pages at/docs/latest
generate index.html linking to latestAdd new stage topublish-main-to-pages.yaml
to:Clone the shotover website at a hardcoded commit and publish to/
This should be a minimum implementation at which point we could swap the website over to it.Add logic to release workflow to release to/docs/vx.y
as well as latest.Will need logic to convert current version string to one of the formv0.y
/vx
, completely clear current directory and write new docs.