# Import bazelrc presets
import %workspace%/bazel/bazelrc/bazel6.bazelrc
import %workspace%/bazel/bazelrc/convenience.bazelrc
import %workspace%/bazel/bazelrc/correctness.bazelrc
import %workspace%/bazel/bazelrc/debug.bazelrc
import %workspace%/bazel/bazelrc/performance.bazelrc
import %workspace%/bazel/bazelrc/cc.bazelrc

# inject version information into binaries
common --stamp --workspace_status_command=tools/workspace_status.sh

# strip binaries for better reproducibility
common --strip=always

# set build mode to opt by default (better reproducibility and performance)
common --compilation_mode=opt

# use pure go implementation of netdns
common --define=gotags=netgo

# enable tpm simulator for tests
test --//bazel/settings:tpm_simulator

# set registry flag alias
build --flag_alias=container_prefix=//bazel/settings:container_prefix

# set cli edition flag alias
build --flag_alias=cli_edition=//bazel/settings:cli_edition

# disable integration tests by default
test --test_tag_filters=-integration
# enable all tests (including integration)
test:integration --test_tag_filters= --@io_bazel_rules_go//go/config:tags=integration
# enable only integration tests
test:integration-only --test_tag_filters=+integration --@io_bazel_rules_go//go/config:tags=integration

# bazel configs to explicitly target a platform
common:host --platforms @local_config_platform//:host
common:linux_amd64 --platforms @zig_sdk//libc_aware/platform:linux_amd64_gnu.2.23
common:linux_arm64 --platforms @zig_sdk//libc_aware/platform:linux_arm64_gnu.2.23
common:linux_amd64_static --platforms @zig_sdk//libc_aware/platform:linux_amd64_musl
common:linux_arm64_static --platforms @zig_sdk//libc_aware/platform:linux_arm64_musl

# bazel configs to explicitly target NixOS
common --host_platform=@io_tweag_rules_nixpkgs//nixpkgs/platforms:host
common --crosstool_top=@local_config_cc//:toolchain

# bazel config to explicitly disable stamping (hide version information at build time)
common:nostamp --nostamp --workspace_status_command=

# bazel config to use (buildbuddy) remote cache
common:remote_cache --bes_results_url=https://app.buildbuddy.io/invocation/
common:remote_cache --bes_backend=grpcs://remote.buildbuddy.io
common:remote_cache --remote_cache=grpcs://remote.buildbuddy.io
common:remote_cache --remote_timeout=3600
common:remote_cache --experimental_remote_build_event_upload=minimal
common:remote_cache --nolegacy_important_outputs
common:remote_cache_readonly --noremote_upload_local_results # Uploads logs & artifacts without writing to cache

common:build_barn_rbe_ubuntu_22_04 --remote_timeout=3600
common:build_barn_rbe_ubuntu_22_04 --remote_executor=grpc://frontend.buildbarn:8980 # this maps to the kubernetes internal buildbarn/frontend service
common:build_barn_rbe_ubuntu_22_04 --extra_execution_platforms=//bazel/rbe:ubuntu-act-22-04-platform
common:build_barn_rbe_ubuntu_22_04 --shell_executable=/bin/bash

try-import %workspace%/.bazeloverwriterc
