mirror of
https://github.com/digital-asset/daml.git
synced 2024-11-10 19:10:28 +03:00
a7d46d25ce
This script was introduced to control the date printed in the sitemap. The sitemap is now produced in the docs repo, so there's little point in keeping this mechanism. Moreover, the stamp on the docs build means it gets rebuilt on every change to the date, i.e. every day, which isn't good for caching. CHANGELOG_BEGIN CHANGELOG_END
140 lines
6.7 KiB
Plaintext
140 lines
6.7 KiB
Plaintext
# Bazel distributed cache, can be temporarily disabled by passing the following
|
|
# flag: --noremote_accept_cached
|
|
build:darwin --remote_http_cache=https://bazel-cache.da-ext.net
|
|
build:linux --remote_http_cache=https://bazel-cache.da-ext.net/ubuntu_20_04
|
|
# Don't push local build results to the remote cache.
|
|
build --remote_upload_local_results=false
|
|
# Do still push local build results to the local disk cache.
|
|
build --incompatible_remote_results_ignore_disk=true
|
|
# Enable the disk cache in addition to the http cache.
|
|
build:linux --disk_cache=.bazel-cache/disk
|
|
build:darwin --disk_cache=.bazel-cache/disk
|
|
# `--repository_cache` must be repeated for all relevant actions.
|
|
# TODO: use `common` starting from Bazel 2.2.0
|
|
# See https://github.com/bazelbuild/bazel/issues/11232
|
|
build:linux --repository_cache=.bazel-cache/repo
|
|
fetch:linux --repository_cache=.bazel-cache/repo
|
|
sync:linux --repository_cache=.bazel-cache/repo
|
|
build:darwin --repository_cache=.bazel-cache/repo
|
|
fetch:darwin --repository_cache=.bazel-cache/repo
|
|
sync:darwin --repository_cache=.bazel-cache/repo
|
|
|
|
test:oracle --repo_env DAML_ORACLE_TESTING=true --test_env ORACLE_USERNAME --test_env ORACLE_PORT --test_env ORACLE_PWD
|
|
|
|
# Improve remote cache hit rate by exluding environment variables from the
|
|
# sandbox that are not whitelisted using --action_env.
|
|
# This will become the default in a future Bazel release.
|
|
build --experimental_strict_action_env
|
|
|
|
# Drop the heap size of Bazel to 2 GB and force TLS 1.2.
|
|
# With TLS 1.3, we run into the following error on Darwin.
|
|
# > No subject alternative DNS name matching github-releases.githubusercontent.com found.
|
|
# It looks like this is a result of SNI being broken on TLS 1.3 which results
|
|
# in us getting a certificate for githubassets.com instead.
|
|
startup --host_jvm_args=-Xms2g --host_jvm_args=-Xmx2g --host_jvm_args=-Djdk.tls.client.protocols=TLSv1.2
|
|
|
|
# Limit the number of parallel actions spawned by Bazel to the number of
|
|
# physical CPUs. (Assuming a CPU with hyperthreading enabled)
|
|
build --loading_phase_threads="HOST_CPUS*.5"
|
|
fetch --loading_phase_threads="HOST_CPUS*.5"
|
|
query --loading_phase_threads="HOST_CPUS*.5"
|
|
sync --loading_phase_threads="HOST_CPUS*.5"
|
|
build --local_cpu_resources="HOST_CPUS*.5"
|
|
|
|
# Enable sandboxing and caching for exclusive tests
|
|
build --incompatible_exclusive_test_sandboxed
|
|
|
|
# Print test output of failed test.
|
|
# Set --test_output=streamed to get the output of all tests in real time.
|
|
# Note, this will force tests to run locally and sequentially.
|
|
test --test_output=errors
|
|
|
|
# print verbose failures
|
|
build --verbose_failures
|
|
|
|
# Enable persistent Scala workers to improve compilation times.
|
|
# Refer to https://github.com/bazelbuild/rules_scala#readme for details.
|
|
build --strategy=Scalac=worker
|
|
test --strategy=Scalac=worker
|
|
|
|
# Activate MacOS fix for "ld: illegal thread local variable reference
|
|
# to regular symbol". See
|
|
# https://github.com/grpc/grpc/pull/13929/files
|
|
build --copt -DGRPC_BAZEL_BUILD
|
|
|
|
# Bazel defaults to JDK9. This makes sure we run Nix provided JDK, and
|
|
# avoid dreaded "Unrecognized VM option 'CompactStrings'" error
|
|
build:linux --javabase=@nixpkgs_java_runtime//:runtime
|
|
build:linux --host_javabase=@nixpkgs_java_runtime//:runtime
|
|
build:linux --java_toolchain=@bazel_tools//tools/jdk:toolchain_java11
|
|
build:linux --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_java11
|
|
build:darwin --javabase=@nixpkgs_java_runtime//:runtime
|
|
build:darwin --host_javabase=@nixpkgs_java_runtime//:runtime
|
|
build:darwin --java_toolchain=@bazel_tools//tools/jdk:toolchain_java11
|
|
build:darwin --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_java11
|
|
build:windows --javabase=@dadew_java_runtime//:runtime
|
|
build:windows --host_javabase=@dadew_java_runtime//:runtime
|
|
build:windows --java_toolchain=@bazel_tools//tools/jdk:toolchain_java11
|
|
build:windows --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_java11
|
|
|
|
# Do not use a distinct configuration for "host", that is, binaries used
|
|
# at build time should be the same as release binaries.
|
|
# Without this, we will end up building everything twice as we need "damlc"
|
|
# at build time to bootstrap itself (for compiling ghc-prim).
|
|
build --distinct_host_configuration=false
|
|
|
|
# Propagate locales and the java home to the test environment.
|
|
build --test_env=LANG=en_US.utf8 --test_env=LOCALE_ARCHIVE --test_env=JAVA_HOME
|
|
|
|
# Disable c-ares support in grpc. We don't need a faster DNS library
|
|
# since we're only connecting to localhost.
|
|
build --define=grpc_no_ares=true
|
|
|
|
# Pass through cacert information for git.
|
|
build --action_env=GIT_SSL_CAINFO
|
|
# Pass through locale archive to ensure that we can get a UTF-8 locale.
|
|
build:linux --action_env=LOCALE_ARCHIVE
|
|
build:windows --action_env=JAVA_HOME
|
|
|
|
# Tell bazel to use the nixpkgs Haskell toolchain on Linux and Darwin
|
|
build:linux --host_platform=@io_tweag_rules_nixpkgs//nixpkgs/platforms:host
|
|
build:darwin --host_platform=@io_tweag_rules_nixpkgs//nixpkgs/platforms:host
|
|
# and GHC's gcc on Windows
|
|
build:windows --crosstool_top=@rules_haskell_ghc_windows_amd64//:cc_toolchain
|
|
|
|
# Caching is currently disabled on Windows.
|
|
# See: https://github.com/tweag/rules_haskell/issues/744 for details.
|
|
build:windows --noremote_accept_cached
|
|
|
|
# We use a special windows configuration on CI: cache is enabled. The caching
|
|
# is not totally reliable on Windows yet re. absolute paths, but it is not a
|
|
# problem on CI if all builds share a similar directory structure.
|
|
build:windows-ci --remote_accept_cached=true
|
|
|
|
# The Windows CI machines have 4 physical and 8 logical cores. By default Bazel
|
|
# will parallelize up to the number of logical cores. This can cause flakyness
|
|
# in timing sensitive tests.
|
|
build:windows-ci --jobs=4
|
|
|
|
# Instruct bazel to globally use this flag for compiling protobuf files.
|
|
# We need the source info for generating proto docs. By default proto_library strips
|
|
# source information and doesn't provide an option to turn this flag on.
|
|
# Ideally we would only set this option for the proto_library target we care about.
|
|
# See https://github.com/bazelbuild/rules_go/issues/1519#issuecomment-451622947
|
|
build:linux --protocopt=--include_source_info
|
|
build:darwin --protocopt=--include_source_info
|
|
#FIXME: it generates stderr, which is causing error in bazel on windows:
|
|
# https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/compiler/command_line_interface.cc#L1363
|
|
#build:windows --protocopt=--include_source_info
|
|
|
|
# Some tools used in tests, like postgres CLI, require cmd.exe which can be located by them
|
|
# using ComSpec environment variable. By default it's not passed from Bazel client environment.
|
|
test:windows --test_env=ComSpec
|
|
|
|
# We default to -c opt. We compile Haskell with -O1 anyway since otherwise
|
|
# it is unusably slow and the C deps change rarely so there is little reason
|
|
# to not compile them with optimizations.
|
|
build -c opt
|
|
|
|
try-import %workspace%/.bazelrc.local
|