Envoy is built using the Bazel build system. Travis CI 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, use the tooling for gcovr.
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: