-
Notifications
You must be signed in to change notification settings - Fork 10
/
.bazelrc
141 lines (122 loc) · 5.66 KB
/
.bazelrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
build --workspace_status_command=tools/get_workspace_status
build --crosstool_top=//tools/cpp:default-toolchain
test --test_output=errors
# Using a distinct host configuration breaks some of the python versioning.
build --nodistinct_host_configuration
# Default to using tcmalloc instead of system malloc.
build --config=tcmalloc
# Always optimize
build --copt=-O3
build --copt=-mpopcnt
#common --experimental_ui
common --show_timestamps
common --show_task_finish
build --define=DOCKER_REPO_BASE=docker.io
build:docker-sandbox --spawn_strategy=docker
build:docker-sandbox --define=EXECUTOR=remote
build:docker-sandbox --experimental_docker_verbose
build:docker-sandbox --experimental_enable_docker_sandbox
build:docker-sandbox --experimental_strict_action_env
build:docker-sandbox --incompatible_do_not_split_linking_cmdline=true
# Version of linux + libc from 2014 which many things can run. Enable with --config=manylinux2014
build:manylinux2014 --action_env=PATH=/opt/rh/devtoolset-9/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
build:manylinux2014 --crosstool_top="//tools/gcc9_manylinux2014:toolchain"
build:manylinux2014 --platform_suffix=manylinux2014
build:manylinux2014 --config=docker-sandbox
build:manylinux2014 --experimental_docker_image=spiralgenetics/manylinux2014:latest
# Continuous integration on small containers; don't run big tests
build:github-ci --experimental_docker_image=spiralgenetics/manylinux2014:noref
build:github-ci --action_env=PATH=/opt/rh/devtoolset-9/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
build:github-ci --crosstool_top="//tools/gcc9_manylinux2014:toolchain"
build:github-ci --platform_suffix=manylinux2014
build:github-ci --config=docker-sandbox
build:github-ci --//tools:python_versions=3.6
# Exclude tests marked with "no-github-ci" from running.
build:github-ci --build_tag_filters=-no-github-ci
test:github-ci --test_tag_filters=-no-github-ci
# TODO(nils): Make us compatible with these bazel changes.
common --incompatible_disable_deprecated_attr_params=false
build --incompatible_use_python_toolchains=true
build --incompatible_do_not_split_linking_cmdline=false
build --incompatible_linkopts_to_linklibs
# Default to python version 3
build --define=PYTHON=3
# Release build; build statically, with tcmalloc, without debugging.
build:release -c opt
build:release --define=RELEASE=1
build:release --config=tcmalloc
build:release --stamp
build:release --config=manylinux2014
# Release build on github; build statically, with tcmalloc, without debugging, no big requirements.
build:release-github -c opt
build:release-github --define=RELEASE=1
build:release-github --config=tcmalloc
build:release-github --stamp
build:release-github --config=docker-sandbox
build:release-github --experimental_docker_image=spiralgenetics/manylinux2014:noref
build:release-github --action_env=PATH=/opt/rh/devtoolset-9/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
build:release-github --crosstool_top="//tools/gcc9_manylinux2014:toolchain"
build:release-github --platform_suffix=manylinux2014
build:release-github --//tools:python_versions="3.6,3.7,3.8"
build:release-github --build_tag_filters=-no-github-ci
test:release-github --test_tag_filters=-no-github-ci
# Build using tcmalloc instead of system malloc.
build:tcmalloc --define=TCMALLOC=1
build:tcmalloc --copt=-fno-builtin-malloc
build:tcmalloc --copt=-fno-builtin-free
build:tcmalloc --copt=-fno-builtin-realloc
build:tcmalloc --copt=-fno-builtin-calloc
build:tcmalloc --copt=-fno-builtin-cfree
build:tcmalloc --copt=-fno-builtin-memalign
build:tcmalloc --copt=-fno-builtin-posix_memalign
build:tcmalloc --copt=-fno-builtin-valloc
build:tcmalloc --copt=-fno-builtin-pvalloc
build:heapcheck --custom_malloc=@gperftools//:tcmalloc
test:heapcheck --test_env=HEAPCHECK=normal
test:heapcheck --test_env=PPROF_PATH=/usr/bin/google-pprof
# Build with profiling support. (The gperftools packackage currently
# includes both the profiler and tcmalloc in the "tcmalloc" target.)
build:gperftools --define=TCMALLOC=1
build:gperftools --copt=-DGPERFTOOLS
build:gperftools --define=GPERFTOOLS=1
# Make sure we get source information.
build:gperftools --copt=-g
build:gperftools --strip=never
# Address sanitizer. Use --config=asan
build:asan --define=TCMALLOC=0
build:asan --compiler clang
build:asan --strip=never
build:asan --copt -fsanitize=address
build:asan --copt -DADDRESS_SANITIZER
build:asan --copt -O1
build:asan --copt -g
build:asan --copt -fno-omit-frame-pointer
build:asan --linkopt -fsanitize=address
build:asan --platform_suffix=asan
test:asan --test_env ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-8/bin/llvm-symbolizer
test:asan --test_env ASAN_OPTIONS=symbolize=1,detect_leaks=0
test:asan --test_tag_filters -noasan,-pylint
# lengthen the default timeouts from 60,300,900,3600 since address
# sanitizer causes a slowdown
test:asan --test_timeout=300,1000,2500,7200
# Thread sanitizer. Use --config=tsan
build:tsan --define=TCMALLOC=0
build:tsan --compiler clang
build:tsan --strip=never
build:tsan --copt -fsanitize=thread
build:tsan --copt -DTHREAD_SANITIZER
build:tsan --copt -DDYNAMIC_ANNOTATIONS_ENABLED=1
build:tsan --copt -DDYNAMIC_ANNOTATIONS_EXTERNAL_IMPL=1
build:tsan --copt -O1
build:tsan --copt -fno-omit-frame-pointer
build:tsan --copt -Wno-gcc-compat
build:tsan --linkopt -fsanitize=thread
build:tsan --platform_suffix=asan
# Python version 2
build:python2 --define=PYTHON=2
# Run python tests under tcmalloc with heap check
test:pyheapcheck --run_under=//tools:heapcheck
test:pyheapcheck --test_tag_filters py_test
test:pyheapcheck --test_env=HEAPCHECK=normal
test:pyheapcheck --test_env=HEAP_CHECK_AFTER_DESTRUCTORS=true
test:pyheapcheck --test_env=PPROF_PATH=/usr/bin/google-pprof