Skip to content
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

docs: Update build instructions for docs #13268

Merged
merged 8 commits into from
Sep 30, 2020
Merged
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 35 additions & 3 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,48 @@
# Developer-local docs build
# Building documentation locally

There are two methods to build the documentation, described below.

In both cases, the generated output can be found in `generated/docs`.

## Building in an existing Envoy development environment

If you have an [existing Envoy development environment](https://github.com/envoyproxy/envoy/tree/master/bazel#quick-start-bazel-build-for-developers), you should have the necessary dependencies and requirements and be able to build the documentation directly.

```bash
./docs/build.sh
```

The output can be found in `generated/docs`. By default configuration examples are going to be validated during build.
To disable validation, set `SPHINX_SKIP_CONFIG_VALIDATION` environment variable to `true`:
By default configuration examples are going to be validated during build. To disable validation,
set `SPHINX_SKIP_CONFIG_VALIDATION` environment variable to `true`:

```bash
SPHINX_SKIP_CONFIG_VALIDATION=true docs/build.sh
```

## Using the Docker build container to build the documentation

If you *do not* have an existing development environment, you may wish to use the Docker build
image that is used in continuous integration.

This can be done as follows:

```
./ci/run_envoy_docker.sh 'ci/do_ci.sh docs'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One extra ask. I'm about to add some additional validation stuff to the docs target for CI checking on external dependency metadata that feeds into docs. Can you make a fork of this docs target called dev_docs (or something like that), so that we don't have developers running the more expensive target locally?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its not actually necessary to use the do_ci.sh script at all - ie you can use docs/build.sh directly inside the container.

Ive updated to use build.sh

```

To use this method you will need a minimum of 4-5GB of disk space available to accommodate the build image.
phlax marked this conversation as resolved.
Show resolved Hide resolved

# Creating a Pull Request with documentation changes

When you create a Pull Request the documentation is rendered by CircleCI.

If you are logged in to CircleCI (it is possible to authenticate using your Github account), you can view
the rendered changes.

To do this:
- click `Details` in the `ci/circleci: docs` check at the bottom of the Pull Request.
- click `ARTIFACTS` in the CircleCI dashboard
- browse to the documentation root at `generated/docs/index.html`.

# How the Envoy website and docs are updated

Expand Down