daml/.envrc
Moisés Ackerman 4794454a70
Platform independence pre-check (#17955)
* Rename //bazel_tools:match-{cabal=>golden}-file

* Generate and check hash file for contents of //compiler/damlc/tests:platform-independence.dar

* Add pre-commit hook to test //compiler/damlc/tests:platform-independence-dar-hash-file-matches

* Print info when //bazel_tools:match-golden-file fails

* platform-independence-dar-check pre-commit hook runs depending on env var

* Skip platform-independence-check if RUN_PLATFORM_INDEPENDENCE_CHECK is unset

* Document dar_hash_file rules

* move platform-independence-checks warning to .envrc

* implement generate_dar_hash_file genrule in python

in particular, this allows us to produce the same output on all platforms

* fix windows

* Update rules_daml/daml.bzl

* bytes.replace does not operate in place
2023-12-07 18:18:24 +01:00

32 lines
1.7 KiB
Plaintext

echo "[dev-env] Setting up DA Development Environment"
eval "$(dev-env/bin/dade assist)"
DADE_PRE_COMMIT_HOOK_TYPE=pre-push
# Load private overrides
[[ -f .envrc.private ]] && source_env .envrc.private
if [ -n "${ARTIFACTORY_USERNAME:-}" ] && [ -n "${ARTIFACTORY_PASSWORD:-}" ]; then
export ARTIFACTORY_AUTH=$(echo -n "$ARTIFACTORY_USERNAME:$ARTIFACTORY_PASSWORD" | base64 -w0)
fi
# always start from a clean slate to ensure that the install phase produces the scenario described by `DADE_NO_PRE_COMMIT` and `DADE_PRE_COMMIT_HOOK_TYPE`
# this is a bit unfortunate but it doesn't look like pre-commit currently supports uninstalling all hooks in one go as of version 2.20.0
HOOK_TYPES=(pre-commit pre-merge-commit pre-push prepare-commit-msg commit-msg post-checkout post-commit post-merge post-rewrite)
for HOOK_TYPE in ${HOOK_TYPES[@]}; do pre-commit uninstall -t "$HOOK_TYPE" > /dev/null; done
# install pre-commit hook (opt-out by setting `DADE_NO_PRE_COMMIT`, set the hook type with `DADE_PRE_COMMIT_HOOK_TYPE` -- defaults to 'pre-push')
if [[ -z "${DADE_NO_PRE_COMMIT:-}" ]]; then
pre-commit install -t "$DADE_PRE_COMMIT_HOOK_TYPE" > /dev/null
fi
if [ -z "${RUN_PLATFORM_INDEPENDENCE_CHECK:-}" ]; then
echo "Warning: platform-independence-checks will be skipped."
echo "To silence this warning, please set 'RUN_PLATFORM_INDEPENDENCE_CHECK'"
echo "by running the following line:"
echo " echo export RUN_PLATFORM_INDEPENDENCE_CHECK=no >> $(pwd)/.envrc.private"
echo "if you usually work on the compiler, run the following line instead:"
echo " echo export RUN_PLATFORM_INDEPENDENCE_CHECK=yes >> $(pwd)/.envrc.private"
export RUN_PLATFORM_INDEPENDENCE_CHECK=no
fi