forked from digital-asset/daml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sh
executable file
·31 lines (24 loc) · 1.15 KB
/
build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env bash
# Copyright (c) 2019 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
set -euxo pipefail
eval "$($(dirname "$0")/dev-env/bin/dade-assist)"
execution_log_postfix=${1:-}
export LC_ALL=en_US.UTF-8
ARTIFACT_DIRS="${BUILD_ARTIFACTSTAGINGDIRECTORY:-$PWD}"
# Bazel test only builds targets that are dependencies of a test suite
# so do a full build first.
(
cd compiler
# Bazel also limits cache downloads by -j so increasing this to a ridiculous value
# helps. Bazel separately controls the number of jobs using CPUs so this should not
# overload machines.
# This also appears to be what Google uses internally, see
# https://github.com/bazelbuild/bazel/issues/6394#issuecomment-436234594.
bazel build -j 200 //... --experimental_execution_log_file "$ARTIFACT_DIRS/build_execution${execution_log_postfix}.log"
)
bazel test -j 200 //... --experimental_execution_log_file "$ARTIFACT_DIRS/test_execution${execution_log_postfix}.log"
# Make sure that Bazel query works.
bazel query 'deps(//...)' > /dev/null
# Check that we can load damlc in ghci
da-ghci --data yes damlc -e '()'