diff --git a/.circleci/config.yml b/.circleci/config.yml index 6a6ad41d..8a865241 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -192,6 +192,7 @@ jobs: command: | sudo apt-get update sudo apt-get -y install gcc g++ zlib1g-dev + sudo .circleci/script/setup-musl - run: name: Download GraalVM command: | @@ -341,14 +342,14 @@ jobs: command: | git submodule init git submodule update - - run: - name: "Short circuit on SNAPSHOT" - command: | - VERSION=$(cat resources/BABASHKA_VERSION) - if [[ "$VERSION" == *-SNAPSHOT ]] - then - circleci task halt - fi + # - run: + # name: "Short circuit on SNAPSHOT" + # command: | + # VERSION=$(cat resources/BABASHKA_VERSION) + # if [[ "$VERSION" == *-SNAPSHOT ]] + # then + # circleci task halt + # fi - restore_cache: keys: - linux-aarch64-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }} @@ -371,6 +372,7 @@ jobs: command: | sudo apt-get update sudo apt-get -y install gcc g++ zlib1g-dev + sudo -E .circleci/script/setup-musl - run: name: Download GraalVM command: | diff --git a/.circleci/script/setup-musl b/.circleci/script/setup-musl new file mode 100755 index 00000000..1dbddd5b --- /dev/null +++ b/.circleci/script/setup-musl @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +# This script sets up the latest available musl-tools using apt pinning from debian unstable. +# The one available in stable and testing are quite outdated and this ensures we get the latest improvements +# This explictly installs musl from unstable and keeps the others at a higher priority + +cat >> /etc/apt/sources.list <> /etc/apt/preferences <> redirects in it wont work. - sudo bash script/setup-musl - - ZLIB_VERSION="1.2.11" - - curl -O -sL "https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz" - echo "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1 zlib-${ZLIB_VERSION}.tar.gz" | sha256sum --check - tar xf "zlib-${ZLIB_VERSION}.tar.gz" - cd "zlib-${ZLIB_VERSION}" - CC=musl-gcc ./configure --static --prefix=/usr/lib/x86_64-linux-musl/ - make CC=musl-gcc - sudo make install - export CC=gcc - cd .. - - # depending on GCC version, we will have different directories here. - # for example, for GCC 6.3.0 we will have: - # - /usr/lib/gcc/x86_64-linux-gnu/6 - # - /usr/lib/gcc/x86_64-linux-gnu/6.3.0 - for dest_dir in /usr/lib/gcc/x86_64-linux-gnu/*; do - sudo cp -f /usr/lib/x86_64-linux-musl/lib/libz.a "$dest_dir" - done fi BABASHKA_FEATURE_HSQLDB=${BABASHKA_FEATURE_HSQLDB:-} diff --git a/script/setup-musl b/script/setup-musl deleted file mode 100755 index 1727b2b1..00000000 --- a/script/setup-musl +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash - -# This script sets up the latest available musl-tools using apt pinning from debian unstable. -# The one available in stable and testing are quite outdated and this ensures we get the latest improvements -# This explictly installs musl from unstable and keeps the others at a higher priority - -cat >> /etc/apt/sources.list <> /etc/apt/preferences <