Skip to content

Commit

Permalink
Merge pull request envoyproxy#27 from envoyproxy/master
Browse files Browse the repository at this point in the history
sync to latest
  • Loading branch information
sridmad committed Jan 12, 2019
2 parents a1f7128 + e9db9ed commit 61e51ed
Show file tree
Hide file tree
Showing 2,282 changed files with 113,859 additions and 38,683 deletions.
53 changes: 53 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Envoy specific Bazel build/test options.

build --workspace_status_command=bazel/get_workspace_status

# Basic ASAN/UBSAN that works for gcc
build:asan --define ENVOY_CONFIG_ASAN=1
build:asan --copt -fsanitize=address,undefined
build:asan --linkopt -fsanitize=address,undefined
build:asan --copt -fno-sanitize=vptr
build:asan --linkopt -fno-sanitize=vptr
build:asan --linkopt -ldl
build:asan --define tcmalloc=disabled
build:asan --build_tag_filters=-no_asan
build:asan --test_tag_filters=-no_asan
build:asan --define signal_trace=disabled
build:asan --copt -DADDRESS_SANITIZER=1

# Clang ASAN/UBSAN
build:clang-asan --define ENVOY_CONFIG_ASAN=1
build:clang-asan --copt -D__SANITIZE_ADDRESS__
build:clang-asan --copt -fsanitize=address,undefined
build:clang-asan --linkopt -fsanitize=address,undefined
build:clang-asan --copt -fno-sanitize=vptr
build:clang-asan --linkopt -fno-sanitize=vptr
build:clang-asan --copt -fno-sanitize-recover=all
build:clang-asan --linkopt -ldl
build:clang-asan --define tcmalloc=disabled
build:clang-asan --build_tag_filters=-no_asan
build:clang-asan --test_tag_filters=-no_asan
build:clang-asan --define signal_trace=disabled
build:clang-asan --copt -DADDRESS_SANITIZER=1
build:clang-asan --test_env=ASAN_SYMBOLIZER_PATH
build:clang-asan --test_env=ASAN_OPTIONS=handle_abort=1:allow_addr2line=true:check_initialization_order=true:strict_init_order=true
build:clang-asan --linkopt -fuse-ld=lld

# Clang TSAN
build:clang-tsan --define ENVOY_CONFIG_TSAN=1
build:clang-tsan --copt -fsanitize=thread
build:clang-tsan --linkopt -fsanitize=thread
build:clang-tsan --define tcmalloc=disabled
build:clang-tsan --linkopt -fuse-ld=lld

# Clang MSAN - broken today since we need to rebuild lib[std]c++ and external deps with MSAN
# support (see https://github.com/envoyproxy/envoy/issues/443).
build:clang-msan --define ENVOY_CONFIG_MSAN=1
build:clang-msan --copt -fsanitize=memory
build:clang-msan --linkopt -fsanitize=memory
build:clang-msan --define tcmalloc=disabled
build:clang-msan --copt -fsanitize-memory-track-origins=2
build:clang-msan --linkopt -fuse-ld=lld

# Test options
test --test_env=HEAPCHECK=normal --test_env=PPROF_PATH
92 changes: 53 additions & 39 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,47 +1,54 @@
references:
envoy-build-image: &envoy-build-image
envoyproxy/envoy-build:18cdf0f806b66bef60ee64248352a8b3bc4ace7d
version: 2.1

executors:
ubuntu-build:
description: "A regular build executor based on ubuntu image"
docker:
- image: envoyproxy/envoy-build:284769e833cc7752812f076a8b7a12e79c948df9
resource_class: xlarge
working_directory: /source

version: 2
jobs:
release:
docker:
- image: *envoy-build-image
resource_class: xlarge
working_directory: /source
executor: ubuntu-build
steps:
- run: rm -rf /home/circleci/project/.git # CircleCI git caching is likely broken
- checkout
- run: ci/do_circle_ci.sh bazel.release
- setup_remote_docker
- run: ci/docker_push.sh
- run: ci/docker_tag.sh
- store_artifacts:
path: /build/envoy/generated/failed-testlogs
asan:
docker:
- image: *envoy-build-image
resource_class: xlarge
working_directory: /source
executor: ubuntu-build
steps:
- run: rm -rf /home/circleci/project/.git # CircleCI git caching is likely broken
- run: echo $CIRCLE_SHA1
- run: echo $CIRCLE_PR_NUMBER
- run: curl https://api.github.com/repos/envoyproxy/envoy/pulls/$CIRCLE_PR_NUMBER/commits
- checkout
- run: ci/do_circle_ci.sh bazel.asan
- store_artifacts:
path: /build/envoy/generated/failed-testlogs
tsan:
docker:
- image: *envoy-build-image
resource_class: xlarge
working_directory: /source
executor: ubuntu-build
steps:
- run: rm -rf /home/circleci/project/.git # CircleCI git caching is likely broken
- checkout
- run: ci/do_circle_ci.sh bazel.tsan
- store_artifacts:
path: /build/envoy/generated/failed-testlogs
compile_time_options:
executor: ubuntu-build
steps:
- run: rm -rf /home/circleci/project/.git # CircleCI git caching is likely broken
- checkout
- run: ci/do_circle_ci.sh bazel.compile_time_options
- store_artifacts:
path: /build/envoy/generated/failed-testlogs
api:
docker:
- image: *envoy-build-image
resource_class: xlarge
working_directory: /source
executor: ubuntu-build
steps:
- run: rm -rf /home/circleci/project/.git # CircleCI git caching is likely broken
- checkout
Expand All @@ -50,11 +57,10 @@ jobs:
fingerprints:
- "fb:f3:fe:be:1c:b2:ec:b6:25:f9:7b:a6:87:54:02:8c"
- run: ci/api_mirror.sh
- store_artifacts:
path: /build/envoy/generated/failed-testlogs
filter_example_mirror:
docker:
- image: *envoy-build-image
resource_class: xlarge
working_directory: /source
executor: ubuntu-build
steps:
- run: rm -rf /home/circleci/project/.git # CircleCI git caching is likely broken
- checkout
Expand All @@ -70,12 +76,10 @@ jobs:
- run:
name: enable ipv6
command: |
cat <<'EOF' | sudo tee /etc/docker/daemon.json
{
echo '{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64"
}
EOF
}' | sudo tee /etc/docker/daemon.json
sudo service docker restart
- run: dig go.googlesource.com A go.googlesource.com AAAA # Debug IPv6 network issues
Expand All @@ -84,28 +88,39 @@ jobs:
- run: curl -v https://go.googlesource.com
- run: curl -6 -v https://go.googlesource.com || true
- run: ./ci/do_circle_ci_ipv6_tests.sh
- store_artifacts:
path: /tmp/envoy-docker/envoy/generated/failed-testlogs

coverage:
docker:
- image: *envoy-build-image
resource_class: xlarge
working_directory: /source
executor: ubuntu-build
steps:
- run: rm -rf /home/circleci/project/.git # CircleCI git caching is likely broken
- checkout
- run: ci/do_circle_ci.sh bazel.coverage
- run: ci/coverage_publish.sh
- store_artifacts:
path: /build/envoy/generated/coverage

clang_tidy:
executor: ubuntu-build
steps:
- run: rm -rf /home/circleci/project/.git # CircleCI git caching is likely broken
- checkout
- run:
command:
ci/do_circle_ci.sh bazel.clang_tidy
no_output_timeout: 60m

format:
docker:
- image: *envoy-build-image
executor: ubuntu-build
resource_class: small
working_directory: /source
steps:
- run: rm -rf /home/circleci/project/.git # CircleCI git caching is likely broken
- checkout
- run: pip install -r tools/requirements.txt
- run: ci/do_circle_ci.sh check_format
- run: ci/do_circle_ci.sh check_repositories
- run: ci/do_circle_ci.sh check_spelling
build_image:
docker:
- image: circleci/python:2.7
Expand All @@ -119,10 +134,7 @@ jobs:
- setup_remote_docker
- run: ci/build_container/docker_push.sh
docs:
docker:
- image: *envoy-build-image
resource_class: xlarge
working_directory: /source
executor: ubuntu-build
steps:
- run: rm -rf /home/circleci/project/.git # CircleCI git caching is likely broken
- checkout
Expand Down Expand Up @@ -153,11 +165,13 @@ workflows:
only: /^v.*/
- asan
- tsan
- compile_time_options
- api
- filter_example_mirror
- ipv6_tests
- coverage
- format
- clang_tidy
- build_image
- docs:
filters:
Expand Down
14 changes: 14 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Checks: 'clang-diagnostic-*,clang-analyzer-*,abseil-*,bugprone-*,modernize-*,performance-*,readability-redundant-*,readability-braces-around-statements'

#TODO(lizan): grow this list, fix possible warnings and make more checks as error
WarningsAsErrors: 'bugprone-assert-side-effect,modernize-make-shared,modernize-make-unique,readability-redundant-smartptr-get,readability-braces-around-statements,readability-redundant-string-cstr,bugprone-use-after-move'

CheckOptions:
- key: bugprone-assert-side-effect.AssertMacros
value: 'ASSERT'

- key: bugprone-dangling-handle.HandleClasses
value: 'std::basic_string_view;std::experimental::basic_string_view;absl::string_view'

- key: modernize-use-auto.MinTypeNameLength
value: '10'
2 changes: 2 additions & 0 deletions .github/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ pulls:
Thank you for your contributions!
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 1
exemptLabels:
- no stalebot

# Issue specific configuration
issues:
Expand Down
19 changes: 12 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
/bazel-*
BROWSE
/build
/build_*
/docs/landing_source/.bundle
/generated
/bazel-*
.cache
/ci/bazel-*
/ci/prebuilt/thirdparty
/ci/prebuilt/thirdparty_build
/test/coverage/BUILD
compile_commands.json
cscope.*
BROWSE
.deps
/docs/landing_source/.bundle
/generated
*.pyc
**/pyformat
SOURCE_VERSION
.cache
*.sw*
tags
TAGS
/test/coverage/BUILD
.vimrc
.vscode
.vs
.vscode
12 changes: 10 additions & 2 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
# TODO(zuercher): determine how we want to deal deal with auto-assignment
# TODO(zuercher): determine how we want to deal with auto-assignment
# By default, @envoyproxy/maintainers own everything.
#* @envoyproxy/maintainers

# dubbo_proxy extension
/*/extensions/filters/network/dubbo_proxy @zyfjeff @lizan
# thrift_proxy extension
/*/extensions/filters/network/thrift_proxy @zuercher @brian-pane
# jwt_authn http filter extension
/*/extensions/filters/http/jwt_authn @qiwzhang @lizan
# grpc_http1_reverse_bridge http filter extension
/*/extensions/filters/http/grpc_http1_reverse_bridge @snowp
# header_to_metadata extension
/*/extensions/filters/http/header_to_metadata @rgs1 @zuercher
# alts transport socket extension
/*/extensions/transport_sockets/alts @lizan @yangminzhu
/*/extensions/transport_sockets/alts @htuch @yangminzhu
# sni_cluster extension
/*/extensions/filters/network/sni_cluster @rshriram @lizan
# tracers.datadog extension
/*/extensions/tracers/datadog @cgilmour @palazzem
Loading

0 comments on commit 61e51ed

Please sign in to comment.