Automate publishing the specification to GitHub pages via Github Actions.
My current proposal is:
a CI workflow will build each PR and publish to an appropriately named directory in the gh-pages branch, i.e. this PR might be published to wip/pulls/143 (and then would be browsable at theupdateframework.github.io/specifcation/wip/pulls/143). The workflow would also update the PR with a link to the rendered document.
a cleanup workflow would run periodically and compare the children of wip/pulls to open PRs, removing any children of wip/pulls for which there isn't a corresponding open PR
a release workflow will be triggered on changes to master, and:
make a release on GitHub with a corresponding versioned tag
build the spec for that release and publish it to the latest directory of the gh-pages branch
also publish the built spec to a versioned subdirectory of the gh-pages branch
update a listing page (index.html?) to point to the versioned subdirectory (the listing will enable browsers to find: the latest spec, specific versioned spec releases, and the most recent draft)
NOTE: once this is done we need to update theupdateframework.io to point to the generated latest specification (and index of published versions)
a draft workflow will be triggered on changes to draft, and:
build the spec in the draft branch
publish the spec to a draft subdirectory of the gh-pages branch
a nag workflow will be triggered on changes to master and file an issue requesting draft is updated
Questions:
Should we be signing spec releases (and therefore not doing automated releases on push to master)?
Is the cleanup workflow necessary or, for the sake of a ~200K per PR, should we retain history for the PRs?
Automate publishing the specification to GitHub pages via Github Actions.
My current proposal is:
gh-pages
branch, i.e. this PR might be published towip/pulls/143
(and then would be browsable at theupdateframework.github.io/specifcation/wip/pulls/143). The workflow would also update the PR with a link to the rendered document.wip/pulls
to open PRs, removing any children ofwip/pulls
for which there isn't a corresponding open PRmaster
, and:latest
directory of thegh-pages
branchgh-pages
branchdraft
, and:draft
branchdraft
subdirectory of thegh-pages
branchmaster
and file an issue requestingdraft
is updatedQuestions:
Originally posted by @joshuagl in https://github.com/theupdateframework/specification/issues/143#issuecomment-762334990
gh-pages
branchgh-pages
branch (and updates index)gh-pages
branch