The experiment of using Nix Shell was not really successful. Most notably, Nix uses a bunch of wrapper scripts around compilers, which make the build much less "pure". This may be useful but it's exactly not what we want for CI. In particular, this resulted in gcc being used for the "clang" builds because a wrapper script redefined the CC env variable. This now builds a single docker image (Debian) for all architectures that we test in CI on Linux.
13 lines
480 B
Docker
13 lines
480 B
Docker
FROM debian:stable
|
|
|
|
RUN dpkg --add-architecture i386
|
|
RUN dpkg --add-architecture s390x
|
|
RUN apt-get update
|
|
|
|
# dkpg-dev: to make pkg-config work in cross-builds
|
|
RUN apt-get install --no-install-recommends --no-upgrade -y \
|
|
make automake libtool pkg-config dpkg-dev valgrind qemu-user \
|
|
gcc clang libc6-dbg libgmp-dev \
|
|
gcc-i686-linux-gnu libc6-dev-i386-cross libc6-dbg:i386 libgmp-dev:i386 \
|
|
gcc-s390x-linux-gnu libc6-dev-s390x-cross libc6-dbg:s390x
|