mirror of
https://github.com/digital-asset/daml.git
synced 2024-11-10 10:46:11 +03:00
33e47828e3
* bazel: 0.28.1 --> 1.1.0 * bazel-watcher sha256 * Fix missing line in patch * proto_source_root --> strip_import_prefix See https://github.com/bazelbuild/bazel/issues/7153 for details. * Update rules_nixpkgs Required to avoid errors of the form ``` ERROR: An error occurred during the fetch of repository 'node_nix': parameter 'sep' may not be specified by name, for call to method split(sep, maxsplit = None) of 'string' ``` and ``` ERROR: An error occurred during the fetch of repository 'node_nix': Traceback (most recent call last): File "/private/var/tmp/_bazel_runner/17d2b3954f1c6dcf5414d5453467df9a/external/io_tweag_rules_nixpkgs/nixpkgs/nixpkgs.bzl", line 149 _execute_or_fail(repository_ctx, <3 more arguments>) File "/private/var/tmp/_bazel_runner/17d2b3954f1c6dcf5414d5453467df9a/external/io_tweag_rules_nixpkgs/nixpkgs/nixpkgs.bzl", line 318, in _execute_or_fail fail(<1 more arguments>) Cannot build Nix attribute 'nodejs'. Command: [/Users/runner/.nix-profile/bin/nix-build, /private/var/tmp/_bazel_runner/17d2b3954f1c6dcf5414d5453467df9a/external/node_nix/nix/bazel.nix, "-A", "nodejs", "--out-link", "bazel-support/nix-out-link", "-I", "nixpkgs=/private/var/tmp/_bazel_runner/17d2b3954f1c6dcf5414d5453467df9a/external/nixpkgs/nixpkgs"] Return code: 1 Error output: src/main/tools/process-tools.cc:173: "setitimer": Invalid argument ``` * Update rules_scala * .proto has been removed, use [ProtoInfo] instead See https://docs.bazel.build/versions/1.1.0/be/protocol-buffer.html#proto_library * python3_nix add nix_file attribute To avoid the following error ``` ERROR: /home/aj/tweag.io/da/da-bazel-1.1/BUILD:66:1: //:nix_python3_runtime depends on @python3_nix//:bin/python in repository @python3_nix which failed to fetch. no such package '@python3_nix//': Traceback (most recent call last): File "/home/aj/.cache/bazel/_bazel_aj/5f825ad28f8e070f999ba37395e46ee5/external/io_tweag_rules_nixpkgs/nixpkgs/nixpkgs.bzl", line 149 _execute_or_fail(repository_ctx, <3 more arguments>) File "/home/aj/.cache/bazel/_bazel_aj/5f825ad28f8e070f999ba37395e46ee5/external/io_tweag_rules_nixpkgs/nixpkgs/nixpkgs.bzl", line 318, in _execute_or_fail fail(<1 more arguments>) Cannot build Nix attribute 'python3'. Command: [/home/aj/.nix-profile/bin/nix-build, "-E", "import <nixpkgs> { config = {}; overlays = []; }", "-A", "python3", "--out-link", "bazel-support/nix-out-link", "-I", "nixpkgs=/home/aj/.cache/bazel/_bazel_aj/5f825ad28f8e070f999ba37395e46ee5/external/nixpkgs/nixpkgs"] Return code: 1 Error output: error: anonymous function at /home/aj/.cache/bazel/_bazel_aj/5f825ad28f8e070f999ba37395e46ee5/external/nixpkgs/nixpkgs.nix:3:1 called with unexpected argument 'config', at (string):1:1 ``` * rules_haskell unnamed string.split(_, maxsplit = _) The keyword argument may no longer be named. * string.replace(_, _, maxsplit = _) may not be named * Move proto sources from deps to data Fixes ``` ERROR: /home/aj/tweag.io/da/da-bazel-1.1/daml-lf/archive/BUILD.bazel:150:1: in deps attribute of scala_test rule //daml-lf/archive:daml_lf_archive_reader_tests_test_suite_src_test_scala_com_digitalasset_daml_lf_archive_DecodeV1Spec.scala: '//daml-lf/archive:daml_lf_1.6_archive_proto_srcs' does not have mandatory providers: 'JavaInfo'. Since this rule was created by the macro 'da_scala_test_suite', the error might have been caused by the macro implementation ``` * Define sha256 for haskell_ghc__paths Bazel 1.1.0 fails on missing hashes. * Disable --incompatible_windows_native_test_wrapper * //compiler/daml-extension don't modify sources Modifying sources in-place can cause issues on Windows, where build actions are not sandboxed and changes on sources can affect other build steps. * bazel-genfiles --> bazel-bin The bazel-genfiles symlink has been removed since Bazel 1.0. See https://github.com/bazelbuild/bazel/issues/8651 * Mark dev_env_tool repository rule as configure See https://docs.bazel.build/versions/1.1.0/skylark/lib/globals.html#repository_rule * Move data deps into data attribute * Mark dev_env_tool as local = True * Manually fetch @makensis_dev_env
109 lines
5.0 KiB
Plaintext
109 lines
5.0 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
|
|
build:windows-ci --remote_http_cache=https://bazel-cache.da-ext.net
|
|
build --remote_upload_local_results=false
|
|
# Enable the disk cache in addition to the http cache.
|
|
build:linux --disk_cache=.bazel-cache/disk
|
|
build:darwin --disk_cache=.bazel-cache/disk
|
|
fetch:linux --repository_cache=.bazel-cache/repo
|
|
fetch:darwin --repository_cache=.bazel-cache/repo
|
|
|
|
# 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
|
|
|
|
# Required for node_modules trees generated by yarn_install.
|
|
common --experimental_allow_incremental_repository_updates
|
|
|
|
# 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 --host_javabase=@java_home//:javabase
|
|
build --java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
|
|
build --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
|
|
|
|
# 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=@rules_haskell//haskell/platforms:linux_x86_64_nixpkgs
|
|
build:darwin --host_platform=@rules_haskell//haskell/platforms:darwin_x86_64_nixpkgs
|
|
# and GHC's gcc on Windows
|
|
build:windows --crosstool_top=@rules_haskell_ghc_windows_amd64//:cc_toolchain
|
|
|
|
# Bazel 1.0 disabled the bash test-runner on Windows. However, some of our
|
|
# test-cases are implemented as bash scripts and rely on the bash test-runner.
|
|
build:windows --noincompatible_windows_native_test_wrapper
|
|
|
|
# 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
|