daml/build.sh
Moritz Kiefer 7f387ba03e Attempt to fix ghci test on MacOS (#3986)
On CI GHCi occasionally seems to get stuck on MacOS. I have no clue why that is
and I am unable to reproduce this locally. However, based on some
testing on CI this change seems to fix this and it simplifies things. The
ghci script was originally used when we still had the fat repl target
but now that we only load damlc, there is no need for this anymore.

CHANGELOG_BEGIN
CHANGELOG_END
2020-01-09 07:44:48 +00:00

44 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# Copyright (c) 2020 The DAML Authors. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
set -euo 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"
)
tag_filter=""
if [[ "$execution_log_postfix" == "_Darwin" ]]; then
tag_filter="-dont-run-on-darwin"
fi
bazel test -j 200 //... --test_tag_filters "$tag_filter" --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
GHCI_SCRIPT=$(mktemp)
function cleanup {
rm -rf "$GHCI_SCRIPT"
}
trap cleanup EXIT
da-ghci --data yes //compiler/damlc:damlc -e ':main --help'
# Check that our IDE works on our codebase
./compiler/ghcide-daml.sh compiler/damlc/exe/Main.hs 2>&1 | tee ide-log
grep -q "1 file worked, 0 files failed" ide-log