# Build with --config=local to send build logs to your local server
build:local --bes_results_url=http://localhost:8080/invocation/
build:local --bes_backend=grpc://localhost:1985
build:local --remote_cache=grpc://localhost:1985
build:local --remote_upload_local_results

# Build with --config=dev to send build logs to the dev server
build:dev --bes_results_url=https://app.buildbuddy.dev/invocation/
build:dev --bes_backend=grpcs://remote.buildbuddy.dev

# Build with --config=cache-dev to send build logs to the dev server with cache
build:cache-dev --bes_results_url=https://app.buildbuddy.dev/invocation/
build:cache-dev --bes_backend=grpcs://remote.buildbuddy.dev
build:cache-dev --remote_cache=grpcs://remote.buildbuddy.dev
build:cache-dev --remote_upload_local_results

# Build with --config=cache to send build logs to the production server with cache
build:cache --bes_results_url=https://app.buildbuddy.io/invocation/
build:cache --bes_backend=grpcs://remote.buildbuddy.io
build:cache --remote_cache=grpcs://remote.buildbuddy.io
build:cache --remote_upload_local_results

# Flags shared across remote configs
build:remote-shared --remote_upload_local_results
build:remote-shared --host_platform=@buildbuddy_toolchain//:platform
build:remote-shared --platforms=@buildbuddy_toolchain//:platform
build:remote-shared --crosstool_top=@buildbuddy_toolchain//:toolchain
build:remote-shared --remote_timeout=600
build:remote-shared --remote_download_minimal
build:remote-shared --experimental_repo_remote_exec
build:remote-shared --jobs=100
build:remote-shared --verbose_failures

# Build with --config=remote to use BuildBuddy RBE.
build:remote --config=remote-shared
build:remote --bes_results_url=https://app.buildbuddy.io/invocation/
build:remote --bes_backend=grpcs://remote.buildbuddy.io
build:remote --remote_cache=grpcs://remote.buildbuddy.io
build:remote --remote_executor=grpcs://remote.buildbuddy.io

# Build with --config=remote-dev to use BuildBuddy RBE.
build:remote-dev --config=remote-shared
build:remote-dev --bes_results_url=https://app.buildbuddy.dev/invocation/
build:remote-dev --bes_backend=grpcs://remote.buildbuddy.dev
build:remote-dev --remote_cache=grpcs://remote.buildbuddy.dev
build:remote-dev --remote_executor=grpcs://remote.buildbuddy.dev

# Configuration used for GitHub actions-based CI
build:ci --config=remote
build:ci --build_metadata=ROLE=CI
build:ci --build_metadata=VISIBILITY=PUBLIC
build:ci --remote_instance_name=buildbuddy-io/buildbuddy/ci
build:ci --repository_cache=/home/runner/repo-cache/
build:ci --flaky_test_attempts=2
build:ci --color=yes
build:ci --disk_cache=

# Configuration used for untrusted GitHub actions-based CI
build:untrusted-ci --config=remote
build:untrusted-ci --remote_instance_name=buildbuddy-io/buildbuddy/untrusted-ci
build:untrusted-ci --repository_cache=/home/runner/repo-cache/untrusted/
build:untrusted-ci --disk_cache=
build:untrusted-ci --flaky_test_attempts=2

# Configuration used for BuildBuddy workflows
build:workflows --config=remote-shared
build:workflows --build_metadata=ROLE=CI
build:workflows --build_metadata=VISIBILITY=PUBLIC
build:workflows --remote_instance_name=buildbuddy-io/buildbuddy/workflows
build:workflows --color=yes
build:workflows --disk_cache=
build:workflows --flaky_test_attempts=2
# Use BuildBuddy endpoints from the CI runner systemrc.
build:workflows --config=buildbuddy_bes_backend
build:workflows --config=buildbuddy_bes_results_url
build:workflows --config=buildbuddy_remote_cache
build:workflows --config=buildbuddy_remote_executor

# Configuration used for BuildBuddy release workflow
build:release --config=remote
build:release --remote_instance_name=buildbuddy-io/buildbuddy/release
build:release -c opt
build:release --stamp
build:release --define release=true
build:release --remote_download_toplevel

# Configuration used for BuildBuddy release m1 workflow
build:release-m1 --remote_instance_name=buildbuddy-io/buildbuddy/release
build:release-m1 -c opt
build:release-m1 --stamp
build:release-m1 --define release=true
build:release-m1 --remote_download_toplevel

# By default, build logs get sent to the production server
build --bes_results_url=https://app.buildbuddy.io/invocation/
build --bes_backend=grpcs://remote.buildbuddy.io

# Recommended if connecting to a remote (upload speed constrained) BuildBuddy instance
build --noremote_upload_local_results # Uploads logs & artifacts without writing to cache

# Populate workspace info like commit sha and repo name to your invocation.
build --workspace_status_command=$(pwd)/workspace_status.sh

# Use a static PATH variable to prevent unnecessary rebuilds of dependencies like protobuf.
build --incompatible_strict_action_env

# Don't build or run Docker tests by default, to avoid a hard dependency
# on Docker for development.
test --test_tag_filters=-docker
build --build_tag_filters=-docker

# Try importing a user specific .bazelrc
# You can create your own by copying and editing the template-user.bazelrc template:
# cp template-user.bazelrc user.bazelrc
try-import %workspace%/user.bazelrc
