Envoy is built using the Bazel build system. CircleCI builds, tests, and runs coverage against all pull requests and the master branch.
To get started building Envoy locally, see the Bazel quick start. To run tests, there are Bazel targets for Google Test. To generate a coverage report, there is a coverage build script.
If you plan to contribute to Envoy, you may find it useful to install the Envoy development support toolchain, which helps automate parts of the development process, particularly those involving code review.
Below is a list of additional documentation to aid the development process:
And some documents on components of Envoy architecture: