* Migrate `Dockerfile` to use a bullseye-based image Also, some QoL changes on the `Dockerfile`: - Parametrize GRAALVM_VERSION to make it easier to update - Remove installing programs already included on base image - Remove `deps.edn` from `.dockerignore` since it is necessary to build * Migrate CircleCI to use a bullseye-based image Also some modifications necessary to make it work: - Migrate from `circleci` images to `clojure` since they're out-of-date and also seem to be considered legacy: https://circleci.com/docs/2.0/circleci-images/#legacy-language-images - Remove unnecessary usage of `sudo`, since all commands runs as root - Sync packages with `Dockerfile`. This will make easier to test locally if everything will work (of course, it is not 100% guarantee) * Remove lsof * Remove "Install {Clojure,Leiningen}" steps Already included on the base image. * Do not change directory when downloading GraalVM * Move "Download GraalVM" to script/download-graalvm * Set GRAALVM_HOME correctly * Unbreak mac build * Revert "Set GRAALVM_HOME correctly" This reverts commit5e2a6158dc. * Set GRAALVM_HOME correctly, take 2 * Improve download-graalvm script * Re-added "Install Clojure" steps * Set amd64 as default GRAALVM_ARCH * Unbreak linux-aarch64 * Ubreak jvm * Do not change directory * Fix yaml * Fix mac/linux-aarch64 * Add missing Clojure * Fix cache * Move GraalVM installation to /tmp * Use script/install-clojure * Use /opt instead of /tmp to install GraalVM * Revert "Use /opt instead of /tmp to install GraalVM" This reverts commit3cfad03c8e. * Use CircleCI's Clojure images again * Go back to installing GraalVM on $HOME
37 lines
773 B
Bash
Executable file
37 lines
773 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
INSTALL_DIR="${1:-$HOME}"
|
|
|
|
GRAALVM_VERSION="${GRAALVM_VERSION:-21.2.0}"
|
|
|
|
case "$BABASHKA_PLATFORM" in
|
|
macos)
|
|
GRAALVM_PLATFORM="darwin"
|
|
;;
|
|
linux)
|
|
GRAALVM_PLATFORM="linux"
|
|
;;
|
|
esac
|
|
|
|
case "${BABASHKA_ARCH:-}" in
|
|
aarch64)
|
|
GRAALVM_ARCH="aarch64"
|
|
;;
|
|
*)
|
|
GRAALVM_ARCH="amd64"
|
|
;;
|
|
esac
|
|
|
|
GRAALVM_FILENAME="graalvm-ce-java11-$GRAALVM_PLATFORM-$GRAALVM_ARCH-$GRAALVM_VERSION.tar.gz"
|
|
|
|
pushd "$INSTALL_DIR" >/dev/null
|
|
|
|
if ! [ -d "graalvm-ce-java11-$GRAALVM_VERSION" ]; then
|
|
echo "Downloading GraalVM $GRAALVM_PLATFORM-$GRAALVM_ARCH-$GRAALVM_VERSION on '$PWD'..."
|
|
curl -O -sL "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-$GRAALVM_VERSION/$GRAALVM_FILENAME"
|
|
tar xzf "$GRAALVM_FILENAME"
|
|
fi
|
|
|
|
popd >/dev/null
|