# Enable strict_action_env (use static PATH and do not inherit environment variables).
# This avoids unnecessary cache invalidations.
build --incompatible_strict_action_env=true

# Build resources
startup --batch_cpu_scheduling --io_nice_level 7
build --jobs 12 --local_ram_resources=HOST_RAM*0.5
test --jobs 12 --test_output=errors

# selinux:
#     build with SELinux (containerd, kubelet)
# no_zfs,no_aufs,no_devicemapper:
#     disable containerd features we don't need
# providerless,dockerless:
#     build k8s without cloud provider and docker support
build --define gotags=selinux,seccomp,no_zfs,no_aufs,no_devicemapper,providerless,dockerless

# Build with C++17.
build --cxxopt=-std=c++17

# Set workspace status file and stamp
build --stamp --workspace_status_command=./build/print-workspace-status.sh

# Use our custom-configured host C++ toolchain.
build --crosstool_top=//build/toolchain:host_cc_suite
build --cpu=k8

# Use the default Bazel C++ toolchain to build the tools used during the
# build.
build --host_crosstool_top=@bazel_tools//tools/cpp:toolchain

# Load CI bazelrc if present.
try-import %workspace%/ci.bazelrc
