Open briantist opened 2 years ago
On the fence still whether we should build it into the workflows or not. Or have more workflow (some with some without).
I think better to keep this open and revisit once I can propose an actual change to build.sh
.
With #27 , we have some control over how strict the build is.
The way I see it, there should be a build that has the strictest settings, for validation, while builds for publishing (especially in PRs) should use the most lenient options, to give us the best chance of a publishable build (even if some pages have errors), because that's more useful for checking rendered output and comparing changes.
By using separate jobs, we can get published docs whenever possible, while still having the validate job "fail" the CI until all errors/warnings are fixed.
Currently using this pattern in
community.hashi_vault
andlowlydba.sqlserver
, but it could use support here to avoid having to repeat some things.In the push workflows, we can achieve this with the push reusable workflow already, with caveats:
_unused
In PR, the only reason we can't use the push reusable workflow is because it has no way to specify the ref, so:
needs:
it complicates the dependent jobs a little if you still want them to run; need to useif: always() && needs.validate.result [is skipped or successful]
type of conditionalneeds:
for PRs, but probably would be for push workflows that also publish, if that validation should prevent publish; in theory the push workflow can just be invoked most strictly all the time, removing the need for a separate validation workflow, but this won't work for pre-init'd use cases, unless strictness can be controlled on build as well as init.Last point leads to the idea of:
anstibull-docs sphinx-init
generatedbuild.sh
could be updated to take arguments, allowing for some override of options chosen at init time