daml-sdk-head: Delete the SDK temporary directory after installation. (#5986)

I'm aggregating a lot of SDKs.

```
$ du -h -d1 $TMPDIR | sort -rh | head -5
1.9G    /var/folders/5x/36ws6_n96qz_b4tbpvfbcth80000gn/T/
501M    /var/folders/5x/36ws6_n96qz_b4tbpvfbcth80000gn/T/tmp.ahBTENEeZw
500M    /var/folders/5x/36ws6_n96qz_b4tbpvfbcth80000gn/T/tmp.S4sB7DIjkA
500M    /var/folders/5x/36ws6_n96qz_b4tbpvfbcth80000gn/T/tmp.Q3VeVV8DIU
405M    /var/folders/5x/36ws6_n96qz_b4tbpvfbcth80000gn/T/tmp.b5ZWnPhLkH
```

CHANGELOG_BEGIN
CHANGELOG_END
This commit is contained in:
Samir Talwar 2020-05-14 17:33:32 +02:00 committed by GitHub
parent 76a7e6e18d
commit f18beb9851
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -97,6 +97,10 @@ echo ""
function cleanup() {
echo "SDK 0.0.0 failed to build/install - if you need help ask on #product-daml"
echo "$(tput setaf 3)FAILED TO INSTALL! $(tput sgr 0)"
if [[ -n "${SDK_TEMP_DIR+x}" && -d "$SDK_TEMP_DIR" ]]; then
rm -rf "$SDK_TEMP_DIR"
fi
}
trap cleanup EXIT
@ -104,21 +108,26 @@ trap cleanup EXIT
bazel build "${BAZEL_MODE_FLAGS[@]}" //release:sdk-release-tarball.tar.gz
readonly TARBALL="$(bazel info bazel-bin "${BAZEL_MODE_FLAGS[@]}")/release/sdk-release-tarball.tar.gz"
readonly TMPDIR="$(mktemp -d)"
mkdir -p "${TMPDIR}/sdk-head"
readonly SDK_TEMP_DIR="$(mktemp -d)"
readonly SDK_DIR="${SDK_TEMP_DIR}/sdk-head"
mkdir -p "$SDK_DIR"
tar xzf "$TARBALL" -C "${TMPDIR}/sdk-head" --strip-components 1
tar xzf "$TARBALL" -C "$SDK_DIR" --strip-components 1
readonly DAML_CMD="$(command -v daml)"
if [[ -x "$DAML_CMD" && "$DAML_CMD" == "$DAML_HOME/bin/daml" ]]; then
# A daml installation already exists, so just install SDK version 0.0.0.
"${DAML_HOME}/bin/daml" install "${TMPDIR}/sdk-head" --force
"${DAML_HOME}/bin/daml" install "$SDK_DIR" --force
else
# No daml installation detected, so install the tarball normally but disable auto-install.
"${TMPDIR}/sdk-head/install.sh" --force
"${SDK_DIR}/install.sh" --force
echo "auto-install: false" > "${DAML_HOME}/daml-config.yaml"
fi
if [[ -d "$SDK_TEMP_DIR" ]]; then
rm -rf "$SDK_TEMP_DIR"
fi
cat > "${DAML_HOME}/bin/daml-head" << EOF
#!/bin/sh
exec env DAML_SDK_VERSION=0.0.0 "${DAML_HEAD_SDK}/daml/daml" "\$@"