| 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 |