.bazelrc 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. startup --expand_configs_in_place
  2. # https://github.com/kubernetes/kubernetes/pull/79807
  3. # https://github.com/bazelbuild/rules_docker/issues/842
  4. # https://github.com/bazelbuild/bazel/issues/7899
  5. build --host_force_python=PY2
  6. # Show us information about failures.
  7. build --verbose_failures
  8. test --test_output=errors
  9. # Include git version info
  10. build --stamp
  11. build --workspace_status_command hack/print-workspace-status.sh
  12. # Make /tmp hermetic
  13. build --sandbox_tmpfs_path=/tmp
  14. # This tag is required to build github.com/opencontainers/selinux correctly
  15. build --define gotags=selinux
  16. # Ensure that Bazel never runs as root, which can cause unit tests to fail.
  17. # This flag requires Bazel 0.5.0+
  18. build --sandbox_fake_username
  19. # Enable go race detection.
  20. build:unit --features=race
  21. test:unit --features=race
  22. test:unit --build_tests_only
  23. test:unit --test_tag_filters=-e2e,-integration
  24. test:unit --flaky_test_attempts=3
  25. test:integration --local_test_jobs 4
  26. test:integration --test_tag_filters=integration
  27. # Darwin and Windows only cross-compile pure Go
  28. build:cross:darwin_386 --platforms=@io_bazel_rules_go//go/toolchain:darwin_386
  29. build:cross:darwin_amd64 --platforms=@io_bazel_rules_go//go/toolchain:darwin_amd64
  30. build:cross:windows_386 --platforms=@io_bazel_rules_go//go/toolchain:windows_386
  31. build:cross:windows_amd64 --platforms=@io_bazel_rules_go//go/toolchain:windows_amd64
  32. # We enable cgo cross-compilation for Linux, but need to use our custom crosstool.
  33. build:repo_infra_crosstool --crosstool_top=@io_k8s_repo_infra//tools:toolchain --compiler=gcc
  34. build:cross:linux_386 --config=repo_infra_crosstool --platforms=@io_bazel_rules_go//go/toolchain:linux_386
  35. build:cross:linux_amd64 --config=repo_infra_crosstool --platforms=@io_bazel_rules_go//go/toolchain:linux_amd64 --cpu=amd64
  36. build:cross:linux_arm --config=repo_infra_crosstool --platforms=@io_bazel_rules_go//go/toolchain:linux_arm --cpu=arm
  37. build:cross:linux_arm64 --config=repo_infra_crosstool --platforms=@io_bazel_rules_go//go/toolchain:linux_arm64 --cpu=arm64
  38. build:cross:linux_ppc64le --config=repo_infra_crosstool --platforms=@io_bazel_rules_go//go/toolchain:linux_ppc64le --cpu=ppc64le
  39. build:cross:linux_s390x --config=repo_infra_crosstool --platforms=@io_bazel_rules_go//go/toolchain:linux_s390x --cpu=s390x
  40. # --config=remote-cache enables a remote bazel cache
  41. # Note needs a --remote_instance_name=projects/PROJ/instances/default_instance flag
  42. build:remote-cache --remote_cache=remotebuildexecution.googleapis.com
  43. build:remote-cache --tls_enabled=true
  44. build:remote-cache --remote_timeout=3600
  45. build:remote-cache --auth_enabled=true
  46. # --config=remote adds remote execution to the --config=remote-cache
  47. # Note needs a --remote_instance_name=projects/PROJ/instances/default_instance flag
  48. build:remote --config=remote-cache
  49. build:remote --remote_executor=remotebuildexecution.googleapis.com
  50. build:remote --jobs=500
  51. build:remote --host_javabase=@rbe_default//java:jdk
  52. build:remote --javabase=@rbe_default//java:jdk
  53. build:remote --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
  54. build:remote --java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
  55. build:remote --crosstool_top=@rbe_default//cc:toolchain
  56. build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
  57. build:remote --extra_toolchains=@rbe_default//config:cc-toolchain
  58. build:remote --extra_execution_platforms=:rbe_with_network
  59. build:remote --host_platform=:rbe_with_network
  60. build:remote --platforms=:rbe_with_network
  61. build:remote --spawn_strategy=remote
  62. build:remote --strategy=Javac=remote
  63. build:remote --strategy=Closure=remote
  64. build:remote --strategy=Genrule=remote
  65. build:remote --define=EXECUTOR=remote
  66. # tar locally due to https://github.com/bazelbuild/bazel/issues/8462
  67. build:remote --strategy=PackageTar=sandboxed
  68. # --config=ci-instance adds a remote instance name
  69. build:ci-instance --remote_instance_name=projects/k8s-prow-builds/instances/default_instance
  70. # The config we want to use in CI
  71. build:ci --config=remote --config=ci-instance