-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make it easier to build docs #13229
Comments
Agreed I've heard multiple complaints around this. Anything we can do to make this faster and easier would be appreciated. cc @htuch also who may have ideas of how we can improve the docs build speed, especially once we get rid of v2. |
a related thought i have been having is that we could make it so that ci pushes the build docs to eg a gh-pages repo/branch for each PR/commit head - so contributors/reviewers can see rendered changes it would probably need some kind of branch garbage collection i think im happy to follow up on this ticket |
This is already done. See the artifacts tab inside the circle ci docs job. |
k - ill take a look - and add any relevant docs that might make it more obvious on where to look for rendered docs |
Awesome thank you. |
@dio (or others) would you mind assigning this ticket to me |
I think docs build has some overhead from the proto builds for the API docs via protodoc etc. (which are still there when we get rid of v2, but maybe 2x speed), and then there are two interesting bottlenecks to optimize:
|
Not optimizing as much as changing the approach: instead of doing validation during the doc build, we could extract validation into a dedicated step, to be performed using a custom builder (see https://www.sphinx-doc.org/en/master/usage/builders/index.html for some context). This should significantly reduce invocation time as we won't be launching external processes to perform validation. An issue with this approach is that it would require executing sphinx from under bazel (which is doable, but requires work). |
Partial fix for #13229 Signed-off-by: Ryan Northey <ryan@synca.io>
I'd request that we add instructions for Docker vs. replace instruction on how to build docs with a local environment and without Docker. I'm on Linux and won't install Docker |
@moderation iiuc that is what i did - see #13268 |
Moved the db generation into a bazel job - which will allow other tasks that also require this data to make use of it more easily/bazely this also adds buildozer into the bazel env, so we might want to make use of that elsewhere and potentially remove buildozer from the build-image env Touch #13229 Signed-off-by: Ryan Northey <ryan@synca.io>
description
The current documentation for building the docs (https://github.com/envoyproxy/envoy/blob/master/docs/README.md) tell you to run:
I guess this works if you have a local dev environment - but quite a few thing are needed - so it doesnt work out of the box at least on a minimal linux install.
It seems you can build docs reliably like this with
docker
:The main problem for me with this was that it downloads a very large docker image. Again this is probably not a big problem if you are developing or building locally - but if you want to make "drive-by" docs changes and see the results ~immediately its not ideal.
I opened a PR on
envoy-build-tools
here (envoyproxy/envoy-build-tools#92) to try and build a slimmed down container - but my first attempt wasnt optimal (see PR for discussion)At very least, i think we need to update the docs with some of the above info.
refs
The text was updated successfully, but these errors were encountered: