chore: see if we can switch CI to ubuntu 24.04

This commit is contained in:
Marcus Holland-Moritz 2024-02-24 23:55:06 +01:00
parent 1634013089
commit dd166de993
3 changed files with 24 additions and 11 deletions

View File

@ -1,9 +1,10 @@
# syntax=docker/dockerfile:1
ARG ARCH=amd64
FROM $ARCH/ubuntu:23.10
RUN apt update && apt install -y gnupg wget software-properties-common
RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
RUN apt-add-repository 'deb https://apt.kitware.com/ubuntu/ jammy main'
FROM $ARCH/ubuntu:24.04
RUN apt update
RUN apt upgrade -y
RUN apt install -y gnupg wget software-properties-common apt-utils
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
RUN apt install -y \
gcc-11 \
g++-11 \
@ -11,9 +12,12 @@ RUN apt install -y \
g++-12 \
gcc-13 \
g++-13 \
gcc-14 \
g++-14 \
clang-15 \
clang-16 \
clang-17 \
clang-18 \
git \
vim \
zstd \

View File

@ -31,18 +31,18 @@ esac
case "-$BUILD_TYPE-" in
*-gcc-*)
export CC=gcc-13 CXX=g++-13
export CC=gcc-14 CXX=g++-14
export COMPILER=gcc
;;
*-oldgcc-*)
export CC=gcc-11 CXX=g++-11
;;
*-clang-*)
export CC=clang-17 CXX=clang++-17
export CC=clang-18 CXX=clang++-18
export COMPILER=clang
;;
*-oldclang-*)
export CC=clang-15 CXX=clang++-15
export CC=clang-15 CXX=clang++-16
;;
*)
echo "missing compiler in: $BUILD_TYPE"
@ -90,6 +90,7 @@ if [[ "-$BUILD_TYPE-" == *-noperfmon-* ]]; then
fi
if [[ "-$BUILD_TYPE-" == *-static-* ]]; then
export LDFLAGS="-L/opt/static-libs/$COMPILER/lib"
CMAKE_ARGS="${CMAKE_ARGS} -DSTATIC_BUILD_DO_NOT_USE=1"
CMAKE_ARGS="${CMAKE_ARGS} -DSTATIC_BUILD_EXTRA_PREFIX=/opt/static-libs/$COMPILER"
else
@ -114,9 +115,9 @@ if [[ "-$BUILD_TYPE-" == *-coverage-* ]]; then
unset LLVM_PROFILE_FILE
rm -rf /tmp-runner/coverage
mkdir -p /tmp-runner/coverage
llvm-profdata-17 merge -sparse profile/* -o dwarfs.profdata
llvm-profdata-18 merge -sparse profile/* -o dwarfs.profdata
for binary in mkdwarfs dwarfs dwarfsck dwarfsextract *_test ricepp/ricepp_test; do
llvm-cov-17 show -instr-profile=dwarfs.profdata $binary >/tmp-runner/coverage/$(basename $binary).txt
llvm-cov-18 show -instr-profile=dwarfs.profdata $binary >/tmp-runner/coverage/$(basename $binary).txt
done
fi

View File

@ -8,6 +8,7 @@ cd pkgs
FILE_VERSION=5.45
FILE_SHA512=12611a59ff766c22a55db4b4a9f80f95a0a2e916a1d8593612c6ead32c247102a8fdc23693c6bf81bda9b604d951a62c0051e91580b1b79e190a3504c0efc20a
BZIP2_VERSION=1.0.8
LIBARCHIVE_VERSION=3.7.2
FLAC_VERSION=1.4.3
LIBUNWIND_VERSION=1.7.2
@ -27,6 +28,7 @@ while true; do
fi
done
wget https://sourceware.org/pub/bzip2/bzip2-${BZIP2_VERSION}.tar.gz
wget https://github.com/libarchive/libarchive/releases/download/v${LIBARCHIVE_VERSION}/libarchive-${LIBARCHIVE_VERSION}.tar.xz
wget https://github.com/xiph/flac/releases/download/${FLAC_VERSION}/flac-${FLAC_VERSION}.tar.xz
wget https://github.com/libunwind/libunwind/releases/download/v${LIBUNWIND_VERSION}/libunwind-${LIBUNWIND_VERSION}.tar.gz
@ -34,8 +36,8 @@ wget https://github.com/libunwind/libunwind/releases/download/v${LIBUNWIND_VERSI
for COMPILER in clang gcc; do
if [[ "$COMPILER" == "clang" ]]; then
export CC=clang-17
export CXX=clang++-17
export CC=clang-18
export CXX=clang++-18
elif [[ "$COMPILER" == "gcc" ]]; then
export CC=gcc-13
export CXX=g++-13
@ -50,6 +52,12 @@ for COMPILER in clang gcc; do
INSTALL_DIR=/opt/static-libs/$COMPILER
tar xf ../bzip2-${BZIP2_VERSION}.tar.gz
cd bzip2-${BZIP2_VERSION}
make -j$(nproc)
make PREFIX="$INSTALL_DIR" install
cd "$HOME/pkgs/$COMPILER"
tar xf ../libarchive-${LIBARCHIVE_VERSION}.tar.xz
cd libarchive-${LIBARCHIVE_VERSION}
./configure --prefix="$INSTALL_DIR" --without-iconv --without-xml2 --without-expat