aboutsummaryrefslogtreecommitdiff
path: root/.bazelrc
blob: 78b0d871bd6557cd08f768c457785701b935c707 (plain)
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
build --incompatible_strict_action_env
build --sandbox_tmpfs_path=/tmp
build --enable_platform_specific_config
build -c opt

# C/C++
common --repo_env=CC=clang
build --incompatible_enable_cc_toolchain_resolution
# Requires a relatively modern clang.
build:ci --features=layering_check

# Java
build --java_language_version=8
build --tool_java_language_version=9

# Windows
# Only compiles with clang on Windows.
build:windows --extra_toolchains=@local_config_cc//:cc-toolchain-x64_windows-clang-cl
build:windows --extra_execution_platforms=//:x64_windows-clang-cl
build:windows --features=static_link_msvcrt
# Required as PATH doubles as the shared library search path on Windows and the
# Java agent functionality depends on system-provided shared libraries.
test:windows --noincompatible_strict_action_env
run:windows --noincompatible_strict_action_env

# Toolchain
# Since the toolchain is conditional on OS and architecture, set it on the particular GitHub Action.
build:toolchain --repo_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
build:toolchain --//third_party:toolchain

# Forward debug variables to tests
test --test_env=JAZZER_AUTOFUZZ_DEBUG
test --test_env=JAZZER_REFLECTION_DEBUG

# CI tests (not using the toolchain to test OSS-Fuzz & local compatibility)
test:ci --test_env=JAZZER_CI=1
build:ci --bes_results_url=https://app.buildbuddy.io/invocation/
build:ci --bes_backend=grpcs://remote.buildbuddy.io
build:ci --remote_cache=grpcs://remote.buildbuddy.io
build:ci --remote_timeout=3600

# Maven publishing (local only, requires GPG signature)
build:maven --config=toolchain
build:maven --stamp
build:maven --define "maven_repo=https://oss.sonatype.org/service/local/staging/deploy/maven2"
build:maven --java_runtime_version=local_jdk_8

# Generic coverage configuration taken from https://github.com/fmeum/rules_jni
coverage --combined_report=lcov
coverage --experimental_use_llvm_covmap
coverage --experimental_generate_llvm_lcov
coverage --repo_env=CC=clang
coverage --repo_env=BAZEL_USE_LLVM_NATIVE_COVERAGE=1
coverage --repo_env=GCOV=llvm-profdata

# Instrument all source files of non-test targets matching at least one of these regexes.
coverage --instrumentation_filter=^//agent/src/main[:/],^//driver:,^//sanitizers/src/main[:/]
coverage --test_tag_filters=-no-coverage