blob: ea23ac61e35483bf5bb2e665c8a62e1a1220d184 [file] [log] [blame] [edit]
try-import .bazelrc.local
try-import .bazelrc.windows.local
# Ensure Windows support is accurate.
startup --windows_enable_symlinks
build --enable_runfiles
build --flag_alias=pin_browsers=//common:pin_browsers
build --flag_alias=headless=//common:headless
# Set the default java toolchain
build --java_language_version=17
build --java_runtime_version=remotejdk_17
build --tool_java_language_version=17
build --tool_java_runtime_version=remotejdk_17
# We target java 8 by default
build --javacopt="--release 8"
# Require java dependencies to be used and first-order
build --experimental_strict_java_deps=strict
build --explicit_java_test_deps
# Ensure builds are unpolluted by the user env
build --incompatible_strict_action_env
# Except for the PATH environment variable
build --action_env=PATH
# For build stamping
build --enable_platform_specific_config
build:linux --workspace_status_command=scripts/build-info.sh
build:macos --workspace_status_command=scripts/build-info.sh
build:windows --workspace_status_command="powershell.exe scripts/build-info.ps1"
# Make sure we get something helpful when tests fail
build --verbose_failures
build --test_output=errors
# pass environment variables to the test environment
build --test_env=CI
build --test_env=DASHBOARD_URL
build --test_env=DISPLAY
build --test_env=FIREFOX_NIGHTLY_BINARY
build --test_env=GITHUB_ACTIONS
build --test_env=MOZ_HEADLESS
build --test_env=PATH # Remove once browser pinning works
build --test_env=SELENIUM_BROWSER
build --test_env=TRAVIS
build --test_env=PYTHON_VERSION
# Remove once rules_ruby support proper $LOAD_PATH expansion.
build --test_env=RUBYOPT="-Irb/lib -w"
# JRuby/TruffleRuby: https://github.com/jruby/jruby/issues/5661
build --action_env=HOME
test --test_env=HOME
# Expose necessary variables for Selenium-Manager.
test:windows --test_env=LOCALAPPDATA
test:windows --test_env=PROGRAMFILES="C:\\Program Files"
test:windows --test_env=PROGRAMFILES(X86)="C:\\Program Files (x86)"
test --test_timeout=1800
test:node_debug --test_output=streamed --test_strategy=exclusive --test_timeout=9999 --nocache_test_results
test:ruby_debug --test_output=streamed --test_env=RUBY_DEBUG_FORK_MODE=parent --run_under="@bundle//:bin/rdbg --nonstop --open --command"
# The RBE to use
build:remote --bes_results_url=https://gypsum.cluster.engflow.com/invocation
build:remote --bes_backend=grpcs://gypsum.cluster.engflow.com
build:remote --remote_executor=grpcs://gypsum.cluster.engflow.com
build:remote --remote_cache=grpcs://gypsum.cluster.engflow.com
# The number of cores available
build:remote -j 50
# Build Without The Bytes
build:remote --remote_download_outputs=minimal
build:remote --define=EXECUTOR=remote
build:remote --experimental_inmemory_dotd_files
build:remote --experimental_inmemory_jdeps_files
build:remote --remote_timeout=3600
build:remote --spawn_strategy=remote,local
#build:remote --nolegacy_important_outputs
build:remote --incompatible_strict_action_env=true
build:remote --crosstool_top=//common/remote-build/cc:toolchain
build:remote --extra_execution_platforms=//common/remote-build:platform
build:remote --extra_toolchains=//common/remote-build:cc-toolchain
build:remote --host_platform=//common/remote-build:platform
build:remote --platforms=//common/remote-build:platform
# The Docker images are running Linux
build:remote --cpu=k8
build:remote --host_cpu=k8
build:remote --disk_cache=
build:remote --incompatible_enable_cc_toolchain_resolution
build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
test:remote --test_env=DISPLAY=:99.0
test:remote --test_tag_filters=-edge,-safari,-remote
# Env vars we can hard code
build:remote --action_env=HOME=/home/dev
build:remote --action_env=PATH=/bin:/usr/bin:/usr/local/bin
test:remote --test_env=HOME=/home/dev
# Make sure we sniff credentials properly
build:remote --credential_helper=%workspace%/scripts/credential-helper.sh
# Use pinned browsers when running remotely
build:remote --//common:pin_browsers
# The remote build machines are pretty small, and 50 threads may leave them
# thrashing, but our dev machines are a lot larger. Scale the workload so we
# make reasonable usage of everything, everywhere, all at once.
build:remote --local_cpu_resources='HOST_CPUS*10'
build:remote --local_ram_resources='HOST_RAM*4.0'
# A small hint that we're running our tests remotely
test:remote --test_env=REMOTE_BUILD=1
# Wait for up to 5 minutes for a test to pass
test:remote --test_timeout=600
# Extend the remote config for CI
build:remote-ci --config=remote
build:remote-ci --curses=no --color=yes --show_timestamps --show_progress_rate_limit=5
build:remote-ci --bes_upload_mode=wait_for_upload_complete
# Configuration changes suggested by EngFlow
build:remote --grpc_keepalive_time=30s
build:remote --nolegacy_important_outputs