Some extra developer conveniences for Docker image.#437
Some extra developer conveniences for Docker image.#437mattklein123 merged 6 commits intoenvoyproxy:masterfrom
Conversation
* Refactor do_ci.sh to split the cmake and environment setup from the
build and test. This makes it convenient for devs to invoke arbitrary
make targets in the Docker image, e.g.
docker run -t -i -v $PWD:/source lyft/envoy-build:latest /bin/bash -c \
"cd /source && . ./ci/build_setup.sh && make fix_format"
* Add EXTRA_TEST_ARGS env var to pass addition flags to envoy-test. This
is useful, for example, when applying a --gtest_filter to restrict the
test run to only failing tests.
* Add a do_ci.sh fix_format target.
* Add gdb, strace to the image and a RUN_TEST_UNDER environment variable
that can be used to have envoy-test run under these programs.
* UNIT_TEST_ONLY env var that will skip the non-envoy-test aspects of
the test process.
Example command for debugging only tests matching *Dns*:
docker run -t -i -v $PWD:/source lyft/envoy-build:latest /bin/bash -c \
"cd /source && UNIT_TEST_ONLY=1 RUN_TEST_UNDER='gdb --args' ./ci/do_ci.sh debug \
--gtest_filter='*Dns*'
|
@htuch this is great. Can we document this somewhere? Would it be worthwhile to start a development markup page? (Not sure if it's worth putting this into the main sphinx docs but I could go either way). |
|
I've added some MD documentation in ci/ for developers. |
ci/README.md
Outdated
| @@ -0,0 +1,43 @@ | |||
| # Developer use of CI Docker image | |||
|
|
|||
| The Docker image at `lyft/envoy-build:latest` is used for Travis CI checks. It | |||
There was a problem hiding this comment.
small nit: as of #408 we are now pinning CI builds to a specific build image (easier to understand what is being tested, can upgrade an image and work on a PR, etc.). Do you mind just covering this briefly? (Basically that CI is now pinned, but latest will still work for dev if desired).
|
I would also suggest linking to this doc from the sphinx docs (building and installation), and probably getting rid of that content. WDYT? |
|
So that there is one place to manage all dev setup documentation |
ci/README.md
Outdated
| * `coverage` — build and run tests, generating coverage information in `<SOURCE_DIR>/build/coverage.html`. | ||
| * `debug` — build debug binary and run tests. | ||
| * `docs` — build documentation, generated docs are found in `<SOURCE_DIR>/generated`. | ||
| * `fix_format`— run `clang-format` on entire source tree. |
There was a problem hiding this comment.
Nit: clang format 3.6 specifically. I have gotten bit by this several times ;).
* fix attribute forwarding bug again. * fix compiler error. * add const * fix format
Automatic merge from submit-queue. [DO NOT MERGE] Auto PR to update dependencies of mixerclient This PR will be merged automatically once checks are successful. ```release-note none ```
Now, if a callback previously returned StopIterationAndBuffer, the various "getBuffer" methods will return the buffered data. But if the callback previously returned anything else, then the methods will only return the current chunk. Signed-off-by: Gregory Brail <gregbrail@google.com> Signed-off-by: Piotr Sikora <piotrsikora@google.com>
Now, if a callback previously returned StopIterationAndBuffer, the various "getBuffer" methods will return the buffered data. But if the callback previously returned anything else, then the methods will only return the current chunk. Signed-off-by: Gregory Brail <gregbrail@google.com> Signed-off-by: Piotr Sikora <piotrsikora@google.com> Co-authored-by: Greg Brail <gbrail@users.noreply.github.com>
Now, if a callback previously returned StopIterationAndBuffer, the various "getBuffer" methods will return the buffered data. But if the callback previously returned anything else, then the methods will only return the current chunk. Signed-off-by: Gregory Brail <gregbrail@google.com>
…_filter.rst (envoyproxy#437) * trans docs/root/configuration/listeners/network_filters/kafka_broker_filter.rst * fix inaccurate translate * fix error translate * fix inaccurate translate
Description: This PR inlines certificates for trusted certificate authorities into the config template and adds subject alt name verification to the base cluster. The certificate bundle is the same as that presented in MacOS 10.14.6 Risk Level: High Testing: Simulator Fixes #322 Signed-off-by: Mike Schore <mike.schore@gmail.com> Signed-off-by: JP Simard <jp@jpsim.com>
Description: This PR inlines certificates for trusted certificate authorities into the config template and adds subject alt name verification to the base cluster. The certificate bundle is the same as that presented in MacOS 10.14.6 Risk Level: High Testing: Simulator Fixes #322 Signed-off-by: Mike Schore <mike.schore@gmail.com> Signed-off-by: JP Simard <jp@jpsim.com>
**Commit Message** This allows `backport` to be used as a commit title / PR title prefix. **Related Issues/PRs (if applicable)** Related to #437 Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
**Commit Message** This adds a note about the process of backporting in RELEASES.md. --------- Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
Refactor do_ci.sh to split the cmake and environment setup from the
build and test. This makes it convenient for devs to invoke arbitrary
make targets in the Docker image, e.g.
docker run -t -i -v $PWD:/source lyft/envoy-build:latest /bin/bash -c
"cd /source && . ./ci/build_setup.sh && make fix_format"
Add EXTRA_TEST_ARGS env var to pass addition flags to envoy-test. This
is useful, for example, when applying a --gtest_filter to restrict the
test run to only failing tests.
Add a do_ci.sh fix_format target.
Add gdb, strace to the image and a RUN_TEST_UNDER environment variable
that can be used to have envoy-test run under these programs.
UNIT_TEST_ONLY env var that will skip the non-envoy-test aspects of
the test process.
Example command for debugging only tests matching Dns:
docker run -t -i -v $PWD:/source lyft/envoy-build:latest /bin/bash -c
"cd /source && UNIT_TEST_ONLY=1 RUN_TEST_UNDER='gdb --args' ./ci/do_ci.sh debug
--gtest_filter='Dns'