Use Debian bullseye on CI/CD/Dockerfile (#1005)
* 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
This commit is contained in:
parent
29c2fbb86d
commit
9ca3a3bd31
6 changed files with 87 additions and 122 deletions
|
|
@ -6,8 +6,7 @@ version: 2.1
|
||||||
jobs:
|
jobs:
|
||||||
jvm:
|
jvm:
|
||||||
docker:
|
docker:
|
||||||
# specify the version you desire here
|
- image: circleci/clojure:openjdk-11-lein-2.9.6-bullseye
|
||||||
- image: circleci/clojure:lein-2.9.1
|
|
||||||
working_directory: ~/repo
|
working_directory: ~/repo
|
||||||
environment:
|
environment:
|
||||||
LEIN_ROOT: "true"
|
LEIN_ROOT: "true"
|
||||||
|
|
@ -28,13 +27,7 @@ jobs:
|
||||||
- run:
|
- run:
|
||||||
name: Install Clojure
|
name: Install Clojure
|
||||||
command: |
|
command: |
|
||||||
wget -nc https://download.clojure.org/install/linux-install-1.10.1.447.sh
|
sudo script/install-clojure
|
||||||
chmod +x linux-install-1.10.1.447.sh
|
|
||||||
sudo ./linux-install-1.10.1.447.sh
|
|
||||||
- run:
|
|
||||||
name: Install lsof
|
|
||||||
command: |
|
|
||||||
sudo apt-get install lsof
|
|
||||||
- run:
|
- run:
|
||||||
name: Run JVM tests
|
name: Run JVM tests
|
||||||
command: |
|
command: |
|
||||||
|
|
@ -72,10 +65,11 @@ jobs:
|
||||||
key: v1-dependencies-{{ checksum "project.clj" }}-{{ checksum "deps.edn" }}
|
key: v1-dependencies-{{ checksum "project.clj" }}-{{ checksum "deps.edn" }}
|
||||||
linux:
|
linux:
|
||||||
docker:
|
docker:
|
||||||
- image: circleci/clojure:lein-2.9.1
|
- image: circleci/clojure:openjdk-11-lein-2.9.6-bullseye
|
||||||
working_directory: ~/repo
|
working_directory: ~/repo
|
||||||
environment:
|
environment:
|
||||||
LEIN_ROOT: "true"
|
LEIN_ROOT: "true"
|
||||||
|
GRAALVM_VERSION: "21.2.0"
|
||||||
GRAALVM_HOME: /home/circleci/graalvm-ce-java11-21.2.0
|
GRAALVM_HOME: /home/circleci/graalvm-ce-java11-21.2.0
|
||||||
BABASHKA_PLATFORM: linux # used in release script
|
BABASHKA_PLATFORM: linux # used in release script
|
||||||
BABASHKA_TEST_ENV: native
|
BABASHKA_TEST_ENV: native
|
||||||
|
|
@ -94,26 +88,16 @@ jobs:
|
||||||
- run:
|
- run:
|
||||||
name: Install Clojure
|
name: Install Clojure
|
||||||
command: |
|
command: |
|
||||||
wget https://download.clojure.org/install/linux-install-1.10.1.447.sh
|
sudo script/install-clojure
|
||||||
chmod +x linux-install-1.10.1.447.sh
|
|
||||||
sudo ./linux-install-1.10.1.447.sh
|
|
||||||
- run:
|
|
||||||
name: Install lsof
|
|
||||||
command: |
|
|
||||||
sudo apt-get install lsof
|
|
||||||
- run:
|
- run:
|
||||||
name: Install native dev tools
|
name: Install native dev tools
|
||||||
command: |
|
command: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get -y install g++ zlib1g-dev
|
sudo apt-get -y install build-essential zlib1g-dev
|
||||||
- run:
|
- run:
|
||||||
name: Download GraalVM
|
name: Download GraalVM
|
||||||
command: |
|
command: |
|
||||||
cd ~
|
script/install-graalvm
|
||||||
if ! [ -d graalvm-ce-java11-21.2.0 ]; then
|
|
||||||
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.2.0/graalvm-ce-java11-linux-amd64-21.2.0.tar.gz
|
|
||||||
tar xzf graalvm-ce-java11-linux-amd64-21.2.0.tar.gz
|
|
||||||
fi
|
|
||||||
- run:
|
- run:
|
||||||
name: Build binary
|
name: Build binary
|
||||||
command: |
|
command: |
|
||||||
|
|
@ -147,10 +131,11 @@ jobs:
|
||||||
./bb .circleci/script/publish_artifact.clj || true
|
./bb .circleci/script/publish_artifact.clj || true
|
||||||
linux-static:
|
linux-static:
|
||||||
docker:
|
docker:
|
||||||
- image: circleci/clojure:lein-2.9.1
|
- image: circleci/clojure:openjdk-11-lein-2.9.6-bullseye
|
||||||
working_directory: ~/repo
|
working_directory: ~/repo
|
||||||
environment:
|
environment:
|
||||||
LEIN_ROOT: "true"
|
LEIN_ROOT: "true"
|
||||||
|
GRAALVM_VERSION: "21.2.0"
|
||||||
GRAALVM_HOME: /home/circleci/graalvm-ce-java11-21.2.0
|
GRAALVM_HOME: /home/circleci/graalvm-ce-java11-21.2.0
|
||||||
BABASHKA_PLATFORM: linux # used in release script
|
BABASHKA_PLATFORM: linux # used in release script
|
||||||
BABASHKA_TEST_ENV: native
|
BABASHKA_TEST_ENV: native
|
||||||
|
|
@ -181,27 +166,17 @@ jobs:
|
||||||
- run:
|
- run:
|
||||||
name: Install Clojure
|
name: Install Clojure
|
||||||
command: |
|
command: |
|
||||||
wget https://download.clojure.org/install/linux-install-1.10.1.447.sh
|
sudo script/install-clojure
|
||||||
chmod +x linux-install-1.10.1.447.sh
|
|
||||||
sudo ./linux-install-1.10.1.447.sh
|
|
||||||
- run:
|
|
||||||
name: Install lsof
|
|
||||||
command: |
|
|
||||||
sudo apt-get install lsof
|
|
||||||
- run:
|
- run:
|
||||||
name: Install native dev tools
|
name: Install native dev tools
|
||||||
command: |
|
command: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get -y install gcc g++ zlib1g-dev
|
sudo apt-get -y install build-essential zlib1g-dev
|
||||||
sudo -E script/setup-musl
|
sudo -E script/setup-musl
|
||||||
- run:
|
- run:
|
||||||
name: Download GraalVM
|
name: Download GraalVM
|
||||||
command: |
|
command: |
|
||||||
cd ~
|
script/install-graalvm
|
||||||
if ! [ -d graalvm-ce-java11-21.2.0 ]; then
|
|
||||||
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.2.0/graalvm-ce-java11-linux-amd64-21.2.0.tar.gz
|
|
||||||
tar xzf graalvm-ce-java11-linux-amd64-21.2.0.tar.gz
|
|
||||||
fi
|
|
||||||
- run:
|
- run:
|
||||||
name: Build binary
|
name: Build binary
|
||||||
command: |
|
command: |
|
||||||
|
|
@ -241,6 +216,7 @@ jobs:
|
||||||
working_directory: ~/repo
|
working_directory: ~/repo
|
||||||
environment:
|
environment:
|
||||||
LEIN_ROOT: "true"
|
LEIN_ROOT: "true"
|
||||||
|
GRAALVM_VERSION: "21.2.0"
|
||||||
GRAALVM_HOME: /home/circleci/graalvm-ce-java11-21.2.0
|
GRAALVM_HOME: /home/circleci/graalvm-ce-java11-21.2.0
|
||||||
BABASHKA_PLATFORM: linux # used in release script
|
BABASHKA_PLATFORM: linux # used in release script
|
||||||
BABASHKA_ARCH: aarch64
|
BABASHKA_ARCH: aarch64
|
||||||
|
|
@ -261,36 +237,22 @@ jobs:
|
||||||
then
|
then
|
||||||
circleci task halt
|
circleci task halt
|
||||||
fi
|
fi
|
||||||
|
- run:
|
||||||
|
name: Install Clojure
|
||||||
|
command: |
|
||||||
|
sudo script/install-clojure
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- linux-aarch64-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }}
|
- linux-aarch64-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }}
|
||||||
- run:
|
|
||||||
name: Install Leiningen
|
|
||||||
command: |
|
|
||||||
sudo script/install-leiningen
|
|
||||||
- run:
|
|
||||||
name: Install Clojure
|
|
||||||
command: |
|
|
||||||
wget https://download.clojure.org/install/linux-install-1.10.1.447.sh
|
|
||||||
chmod +x linux-install-1.10.1.447.sh
|
|
||||||
sudo ./linux-install-1.10.1.447.sh
|
|
||||||
- run:
|
|
||||||
name: Install lsof
|
|
||||||
command: |
|
|
||||||
sudo apt-get install lsof
|
|
||||||
- run:
|
- run:
|
||||||
name: Install native dev tools
|
name: Install native dev tools
|
||||||
command: |
|
command: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get -y install gcc g++ zlib1g-dev
|
sudo apt-get -y install build-essential zlib1g-dev
|
||||||
- run:
|
- run:
|
||||||
name: Download GraalVM
|
name: Download GraalVM
|
||||||
command: |
|
command: |
|
||||||
cd ~
|
script/install-graalvm
|
||||||
if ! [ -d graalvm-ce-java11-21.2.0 ]; then
|
|
||||||
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.2.0/graalvm-ce-java11-linux-aarch64-21.2.0.tar.gz
|
|
||||||
tar xzf graalvm-ce-java11-linux-aarch64-21.2.0.tar.gz
|
|
||||||
fi
|
|
||||||
- run:
|
- run:
|
||||||
name: Build binary
|
name: Build binary
|
||||||
command: |
|
command: |
|
||||||
|
|
@ -330,6 +292,7 @@ jobs:
|
||||||
working_directory: ~/repo
|
working_directory: ~/repo
|
||||||
environment:
|
environment:
|
||||||
LEIN_ROOT: "true"
|
LEIN_ROOT: "true"
|
||||||
|
GRAALVM_VERSION: "21.2.0"
|
||||||
GRAALVM_HOME: /home/circleci/graalvm-ce-java11-21.2.0
|
GRAALVM_HOME: /home/circleci/graalvm-ce-java11-21.2.0
|
||||||
BABASHKA_PLATFORM: linux # used in release script
|
BABASHKA_PLATFORM: linux # used in release script
|
||||||
BABASHKA_ARCH: aarch64
|
BABASHKA_ARCH: aarch64
|
||||||
|
|
@ -351,37 +314,23 @@ jobs:
|
||||||
# then
|
# then
|
||||||
# circleci task halt
|
# circleci task halt
|
||||||
# fi
|
# fi
|
||||||
|
- run:
|
||||||
|
name: Install Clojure
|
||||||
|
command: |
|
||||||
|
sudo script/install-clojure
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- linux-aarch64-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }}
|
- linux-aarch64-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }}
|
||||||
- run:
|
|
||||||
name: Install Leiningen
|
|
||||||
command: |
|
|
||||||
sudo script/install-leiningen
|
|
||||||
- run:
|
|
||||||
name: Install Clojure
|
|
||||||
command: |
|
|
||||||
wget https://download.clojure.org/install/linux-install-1.10.1.447.sh
|
|
||||||
chmod +x linux-install-1.10.1.447.sh
|
|
||||||
sudo ./linux-install-1.10.1.447.sh
|
|
||||||
- run:
|
|
||||||
name: Install lsof
|
|
||||||
command: |
|
|
||||||
sudo apt-get install lsof
|
|
||||||
- run:
|
- run:
|
||||||
name: Install native dev tools
|
name: Install native dev tools
|
||||||
command: |
|
command: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get -y install gcc g++ zlib1g-dev
|
sudo apt-get -y install build-essential zlib1g-dev
|
||||||
# sudo -E script/setup-musl
|
# sudo -E script/setup-musl
|
||||||
- run:
|
- run:
|
||||||
name: Download GraalVM
|
name: Download GraalVM
|
||||||
command: |
|
command: |
|
||||||
cd ~
|
script/install-graalvm
|
||||||
if ! [ -d graalvm-ce-java11-21.2.0 ]; then
|
|
||||||
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.2.0/graalvm-ce-java11-linux-aarch64-21.2.0.tar.gz
|
|
||||||
tar xzf graalvm-ce-java11-linux-aarch64-21.2.0.tar.gz
|
|
||||||
fi
|
|
||||||
- run:
|
- run:
|
||||||
name: Build binary
|
name: Build binary
|
||||||
command: |
|
command: |
|
||||||
|
|
@ -418,6 +367,7 @@ jobs:
|
||||||
xcode: "12.0.0"
|
xcode: "12.0.0"
|
||||||
environment:
|
environment:
|
||||||
MACOSX_DEPLOYMENT_TARGET: 10.13 # 10.12 is EOL
|
MACOSX_DEPLOYMENT_TARGET: 10.13 # 10.12 is EOL
|
||||||
|
GRAALVM_VERSION: "21.2.0"
|
||||||
GRAALVM_HOME: /Users/distiller/graalvm-ce-java11-21.2.0/Contents/Home
|
GRAALVM_HOME: /Users/distiller/graalvm-ce-java11-21.2.0/Contents/Home
|
||||||
BABASHKA_PLATFORM: macos # used in release script
|
BABASHKA_PLATFORM: macos # used in release script
|
||||||
BABASHKA_TEST_ENV: native
|
BABASHKA_TEST_ENV: native
|
||||||
|
|
@ -436,7 +386,7 @@ jobs:
|
||||||
- run:
|
- run:
|
||||||
name: Install Clojure
|
name: Install Clojure
|
||||||
command: |
|
command: |
|
||||||
script/install-clojure /usr/local
|
script/install-clojure
|
||||||
- run:
|
- run:
|
||||||
name: Install Leiningen
|
name: Install Leiningen
|
||||||
command: |
|
command: |
|
||||||
|
|
@ -444,12 +394,7 @@ jobs:
|
||||||
- run:
|
- run:
|
||||||
name: Download GraalVM
|
name: Download GraalVM
|
||||||
command: |
|
command: |
|
||||||
cd ~
|
script/install-graalvm
|
||||||
ls -la
|
|
||||||
if ! [ -d graalvm-ce-java11-21.2.0 ]; then
|
|
||||||
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.2.0/graalvm-ce-java11-darwin-amd64-21.2.0.tar.gz
|
|
||||||
tar xzf graalvm-ce-java11-darwin-amd64-21.2.0.tar.gz
|
|
||||||
fi
|
|
||||||
- run:
|
- run:
|
||||||
name: Build binary
|
name: Build binary
|
||||||
command: |
|
command: |
|
||||||
|
|
@ -470,7 +415,7 @@ jobs:
|
||||||
- save_cache:
|
- save_cache:
|
||||||
paths:
|
paths:
|
||||||
- ~/.m2
|
- ~/.m2
|
||||||
- ~/graalvm-ce-java11-21.2.0
|
- ~/graalvm-ce-java11-21.2.0/Contents/Home
|
||||||
key: mac-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }}
|
key: mac-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }}
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: /tmp/release
|
path: /tmp/release
|
||||||
|
|
@ -482,7 +427,7 @@ jobs:
|
||||||
deploy:
|
deploy:
|
||||||
resource_class: large
|
resource_class: large
|
||||||
docker:
|
docker:
|
||||||
- image: circleci/clojure:lein-2.9.1
|
- image: circleci/clojure:lein-2.9.6
|
||||||
working_directory: ~/repo
|
working_directory: ~/repo
|
||||||
environment:
|
environment:
|
||||||
LEIN_ROOT: "true"
|
LEIN_ROOT: "true"
|
||||||
|
|
@ -505,7 +450,7 @@ jobs:
|
||||||
key: v1-dependencies-{{ checksum "project.clj" }}
|
key: v1-dependencies-{{ checksum "project.clj" }}
|
||||||
docker:
|
docker:
|
||||||
docker:
|
docker:
|
||||||
- image: circleci/buildpack-deps:stretch
|
- image: circleci/buildpack-deps:bullseye
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- attach_workspace:
|
- attach_workspace:
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ test/
|
||||||
.gitmodules
|
.gitmodules
|
||||||
appveyor.yml
|
appveyor.yml
|
||||||
CHANGES.md
|
CHANGES.md
|
||||||
deps.edn
|
|
||||||
Dockerfile
|
Dockerfile
|
||||||
LICENSE
|
LICENSE
|
||||||
README.md
|
README.md
|
||||||
|
|
|
||||||
14
Dockerfile
14
Dockerfile
|
|
@ -1,16 +1,18 @@
|
||||||
FROM clojure:lein-2.9.1 AS BASE
|
FROM clojure:openjdk-11-lein-2.9.6-bullseye AS BASE
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
RUN apt update
|
RUN apt update
|
||||||
RUN apt install --no-install-recommends -yy curl unzip build-essential zlib1g-dev sudo
|
RUN apt install --no-install-recommends -yy build-essential zlib1g-dev
|
||||||
WORKDIR "/opt"
|
WORKDIR "/opt"
|
||||||
RUN curl -sLO https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.2.0/graalvm-ce-java11-linux-amd64-21.2.0.tar.gz
|
|
||||||
RUN tar -xzf graalvm-ce-java11-linux-amd64-21.2.0.tar.gz
|
ENV GRAALVM_VERSION="21.2.0"
|
||||||
|
RUN curl -sLO https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${GRAALVM_VERSION}/graalvm-ce-java11-linux-amd64-${GRAALVM_VERSION}.tar.gz
|
||||||
|
RUN tar -xzf graalvm-ce-java11-linux-amd64-${GRAALVM_VERSION}.tar.gz
|
||||||
|
|
||||||
ARG BABASHKA_XMX="-J-Xmx4500m"
|
ARG BABASHKA_XMX="-J-Xmx4500m"
|
||||||
|
|
||||||
ENV GRAALVM_HOME="/opt/graalvm-ce-java11-21.2.0"
|
ENV GRAALVM_HOME="/opt/graalvm-ce-java11-${GRAALVM_VERSION}"
|
||||||
ENV JAVA_HOME="/opt/graalvm-ce-java11-21.2.0/bin"
|
ENV JAVA_HOME="/opt/graalvm-ce-java11-${GRAALVM_VERSION}/bin"
|
||||||
ENV PATH="$JAVA_HOME:$PATH"
|
ENV PATH="$JAVA_HOME:$PATH"
|
||||||
ENV BABASHKA_XMX=$BABASHKA_XMX
|
ENV BABASHKA_XMX=$BABASHKA_XMX
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,14 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
install_dir=${1:-/usr/local}
|
set -euo pipefail
|
||||||
|
|
||||||
|
CLOJURE_TOOLS_VERSION="1.10.1.447"
|
||||||
|
|
||||||
|
install_dir="${1:-/usr/local}"
|
||||||
mkdir -p "$install_dir"
|
mkdir -p "$install_dir"
|
||||||
cd /tmp
|
cd /tmp
|
||||||
curl -O -sL https://download.clojure.org/install/clojure-tools-1.10.1.447.tar.gz
|
curl -O -sL "https://download.clojure.org/install/clojure-tools-$CLOJURE_TOOLS_VERSION.tar.gz"
|
||||||
tar xzf clojure-tools-1.10.1.447.tar.gz
|
tar xzf "clojure-tools-$CLOJURE_TOOLS_VERSION.tar.gz"
|
||||||
cd clojure-tools
|
cd clojure-tools
|
||||||
clojure_lib_dir="$install_dir/lib/clojure"
|
clojure_lib_dir="$install_dir/lib/clojure"
|
||||||
mkdir -p "$clojure_lib_dir/libexec"
|
mkdir -p "$clojure_lib_dir/libexec"
|
||||||
|
|
@ -18,6 +22,6 @@ cp clojure "$install_dir/bin"
|
||||||
cp clj "$install_dir/bin"
|
cp clj "$install_dir/bin"
|
||||||
|
|
||||||
cd /tmp
|
cd /tmp
|
||||||
rm -rf clojure-tools-1.10.1.447.tar.gz
|
rm -rf "clojure-tools-$CLOJURE_TOOLS_VERSION.tar.gz"
|
||||||
rm -rf clojure-tools
|
rm -rf "clojure-tools"
|
||||||
echo "Installed clojure to $install_dir/bin"
|
echo "Installed clojure to $install_dir/bin"
|
||||||
|
|
|
||||||
37
script/install-graalvm
Executable file
37
script/install-graalvm
Executable file
|
|
@ -0,0 +1,37 @@
|
||||||
|
#!/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
|
||||||
|
|
@ -12,29 +12,7 @@ if [[ -z "${BABASHKA_MUSL:-}" ]]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# This script sets up the latest available musl-tools using apt pinning from Debian bullseye (11).
|
apt-get update -y && apt-get install musl-tools -y
|
||||||
# The one available in stretch (Debian 9) is outdated and this ensures we get the latest improvements
|
|
||||||
# This explictly installs musl from bullseye and keeps the others at a higher priority
|
|
||||||
# TODO: remove after clojure image is updated to bullseye
|
|
||||||
|
|
||||||
cat >> /etc/apt/sources.list <<eof
|
|
||||||
deb http://ftp.us.debian.org/debian bullseye main non-free contrib
|
|
||||||
deb http://non-us.debian.org/debian-non-us bullseye/non-us main contrib non-free
|
|
||||||
eof
|
|
||||||
|
|
||||||
cat >> /etc/apt/preferences <<eof
|
|
||||||
Package: *
|
|
||||||
Pin: release a=stable
|
|
||||||
Pin-Priority: 700
|
|
||||||
Package: *
|
|
||||||
Pin: release a=testing
|
|
||||||
Pin-Priority: 650
|
|
||||||
Package: *
|
|
||||||
pin: release a=bullseye
|
|
||||||
pin-priority: 600
|
|
||||||
eof
|
|
||||||
|
|
||||||
apt-get update -y && apt-get install musl-tools/bullseye -y
|
|
||||||
|
|
||||||
ZLIB_VERSION="1.2.11"
|
ZLIB_VERSION="1.2.11"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue