0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-05-15 17:33:46 +02:00

docker: Upgrade images to 22.04; update appveyor build matrix.

This commit is contained in:
Jason Volk 2022-06-21 09:29:39 -07:00
parent 7b2af2cf1c
commit d5302087bc
23 changed files with 300 additions and 17 deletions

View file

@ -8,21 +8,60 @@ environment:
COMMAND: rmdir -v deps/rocksdb && ln -sv /usr/src/rocksdb deps && ./autogen.sh && ./configure --enable-assert && make install && construct -smoketest localhost
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
DOCKER_IMAGE: jevolk/construct:ubuntu-20.04-gcc-8
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-20.04-gcc-8
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-20.04-gcc-9
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
DOCKER_IMAGE: jevolk/construct:ubuntu-20.04-clang-9
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-20.04-gcc-10
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
DOCKER_IMAGE: jevolk/construct:ubuntu-20.04-gcc-10
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-20.04-clang-9
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-20.04-clang-10
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-20.04-clang-11
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-20.04-clang-12
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-22.04-base-gcc-8
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
DOCKER_IMAGE: jevolk/construct:ubuntu-22.04-base-gcc-9
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-22.04-base-gcc-10
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-22.04-base-gcc-11
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
DOCKER_IMAGE: jevolk/construct:ubuntu-22.04-base-gcc-12
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-22.04-base-clang-10
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-22.04-base-clang-11
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-22.04-base-clang-12
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-22.04-base-clang-13
# - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
# DOCKER_IMAGE: jevolk/construct:ubuntu-22.04-base-clang-14
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
DOCKER_IMAGE: jevolk/construct:ubuntu-22.04-full-clang-14
for:
-
build_script:

View file

@ -1,15 +1,50 @@
#!/bin/sh
BASEDIR=$(dirname "$0")
ACCT=jevolk
REPO=construct
#ARGS="--build-arg skiprocks=1"
docker build -t jevolk/construct:ubuntu-20.04 $BASEDIR/ubuntu/base
docker build -t jevolk/construct:ubuntu-20.04-clang-9 $BASEDIR/ubuntu/clang-9
docker build -t jevolk/construct:ubuntu-20.04-clang-10 $BASEDIR/ubuntu/clang-10
docker build -t jevolk/construct:ubuntu-20.04-gcc-8 $BASEDIR/ubuntu/gcc-8
docker build -t jevolk/construct:ubuntu-20.04-gcc-9 $BASEDIR/ubuntu/gcc-9
docker build -t jevolk/construct:ubuntu-20.04-gcc-10 $BASEDIR/ubuntu/gcc-10
#docker build -t $ACCT/$REPO:ubuntu-20.04 $BASEDIR/ubuntu/20.04/base
#docker build -t $ACCT/$REPO:ubuntu-20.04-gcc-8 $BASEDIR/ubuntu/20.04/gcc-8
#docker build -t $ACCT/$REPO:ubuntu-20.04-gcc-9 $BASEDIR/ubuntu/20.04/gcc-9
#docker build -t $ACCT/$REPO:ubuntu-20.04-gcc-10 $BASEDIR/ubuntu/20.04/gcc-10
#docker build -t $ACCT/$REPO:ubuntu-20.04-clang-9 $BASEDIR/ubuntu/20.04/clang-9
#docker build -t $ACCT/$REPO:ubuntu-20.04-clang-10 $BASEDIR/ubuntu/20.04/clang-10
#docker build -t $ACCT/$REPO:ubuntu-20.04-clang-11 $BASEDIR/ubuntu/20.04/clang-11
#docker build -t $ACCT/$REPO:ubuntu-20.04-clang-12 $BASEDIR/ubuntu/20.04/clang-12
docker push jevolk/construct:ubuntu-20.04-clang-9
docker push jevolk/construct:ubuntu-20.04-clang-10
docker push jevolk/construct:ubuntu-20.04-gcc-8
docker push jevolk/construct:ubuntu-20.04-gcc-9
docker push jevolk/construct:ubuntu-20.04-gcc-10
#docker push $ACCT/$REPO:ubuntu-20.04-gcc-8
#docker push $ACCT/$REPO:ubuntu-20.04-gcc-9
#docker push $ACCT/$REPO:ubuntu-20.04-gcc-10
#docker push $ACCT/$REPO:ubuntu-20.04-clang-9
#docker push $ACCT/$REPO:ubuntu-20.04-clang-10
#docker push $ACCT/$REPO:ubuntu-20.04-clang-11
#docker push $ACCT/$REPO:ubuntu-20.04-clang-12
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base $BASEDIR/ubuntu/22.04/base
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-full $BASEDIR/ubuntu/22.04/full
#docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-gcc-8 $BASEDIR/ubuntu/22.04/base-gcc-8
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-gcc-9 $BASEDIR/ubuntu/22.04/base-gcc-9
#docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-gcc-10 $BASEDIR/ubuntu/22.04/base-gcc-10
#docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-gcc-11 $BASEDIR/ubuntu/22.04/base-gcc-11
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-gcc-12 $BASEDIR/ubuntu/22.04/base-gcc-12
#docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-clang-10 $BASEDIR/ubuntu/22.04/base-clang-10
#docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-clang-11 $BASEDIR/ubuntu/22.04/base-clang-11
#docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-clang-12 $BASEDIR/ubuntu/22.04/base-clang-12
#docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-clang-13 $BASEDIR/ubuntu/22.04/base-clang-13
#docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-clang-14 $BASEDIR/ubuntu/22.04/base-clang-14
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-full-clang-14 $BASEDIR/ubuntu/22.04/full-clang-14
docker push $ACCT/$REPO:ubuntu-22.04-base
docker push $ACCT/$REPO:ubuntu-22.04-full
#docker push $ACCT/$REPO:ubuntu-22.04-base-gcc-8
docker push $ACCT/$REPO:ubuntu-22.04-base-gcc-9
#docker push $ACCT/$REPO:ubuntu-22.04-base-gcc-10
#docker push $ACCT/$REPO:ubuntu-22.04-base-gcc-11
docker push $ACCT/$REPO:ubuntu-22.04-base-gcc-12
#docker push $ACCT/$REPO:ubuntu-22.04-base-clang-10
#docker push $ACCT/$REPO:ubuntu-22.04-base-clang-11
#docker push $ACCT/$REPO:ubuntu-22.04-base-clang-12
#docker push $ACCT/$REPO:ubuntu-22.04-base-clang-13
#docker push $ACCT/$REPO:ubuntu-22.04-base-clang-14
docker push $ACCT/$REPO:ubuntu-22.04-full-clang-14

View file

@ -18,6 +18,7 @@ RUN \
curl \
git \
libbz2-dev \
liblz4-dev \
libgraphicsmagick1-dev \
libicu-dev \
libjemalloc-dev \

View file

@ -0,0 +1,10 @@
FROM jevolk/construct:ubuntu-20.04
ENV CC clang-11
ENV CXX clang++-11
RUN apt-get update \
&& apt-get install --no-install-recommends -y clang-11 llvm-11-dev \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

View file

@ -0,0 +1,10 @@
FROM jevolk/construct:ubuntu-20.04
ENV CC clang-12
ENV CXX clang++-12
RUN apt-get update \
&& apt-get install --no-install-recommends -y clang-12 llvm-12-dev \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

View file

@ -0,0 +1,10 @@
FROM jevolk/construct:ubuntu-22.04-base
ENV CC clang-10
ENV CXX clang++-10
RUN apt-get update \
&& apt-get install --no-install-recommends -y clang-10 llvm-10-dev \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

View file

@ -0,0 +1,10 @@
FROM jevolk/construct:ubuntu-22.04-base
ENV CC clang-11
ENV CXX clang++-11
RUN apt-get update \
&& apt-get install --no-install-recommends -y clang-11 llvm-11-dev \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

View file

@ -0,0 +1,10 @@
FROM jevolk/construct:ubuntu-22.04-base
ENV CC clang-12
ENV CXX clang++-12
RUN apt-get update \
&& apt-get install --no-install-recommends -y clang-12 llvm-12-dev \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

View file

@ -0,0 +1,10 @@
FROM jevolk/construct:ubuntu-22.04-base
ENV CC clang-13
ENV CXX clang++-13
RUN apt-get update \
&& apt-get install --no-install-recommends -y clang-13 llvm-13-dev \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

View file

@ -0,0 +1,10 @@
FROM jevolk/construct:ubuntu-22.04-base
ENV CC clang-14
ENV CXX clang++-14
RUN apt-get update \
&& apt-get install --no-install-recommends -y clang-14 llvm-14-dev \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

View file

@ -0,0 +1,9 @@
FROM jevolk/construct:ubuntu-22.04-base
ENV CXX g++-10
ENV CC gcc-10
RUN apt-get update \
&& apt-get install --no-install-recommends -y g++-10 gcc-10 \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

View file

@ -0,0 +1,9 @@
FROM jevolk/construct:ubuntu-22.04-base
ENV CXX g++-11
ENV CC gcc-11
RUN apt-get update \
&& apt-get install --no-install-recommends -y g++-11 gcc-11 \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

View file

@ -0,0 +1,9 @@
FROM jevolk/construct:ubuntu-22.04-base
ENV CXX g++-12
ENV CC gcc-12
RUN apt-get update \
&& apt-get install --no-install-recommends -y g++-12 gcc-12 \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

View file

@ -0,0 +1,9 @@
FROM jevolk/construct:ubuntu-22.04-base
ENV CXX g++-8
ENV CC gcc-8
RUN apt-get update \
&& apt-get install --no-install-recommends -y g++-8 gcc-8 \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

View file

@ -0,0 +1,9 @@
FROM jevolk/construct:ubuntu-22.04-base
ENV CXX g++-9
ENV CC gcc-9
RUN apt-get update \
&& apt-get install --no-install-recommends -y g++-9 gcc-9 \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

View file

@ -0,0 +1,67 @@
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN \
apt-get update && \
apt-get install --no-install-recommends -y \
autoconf \
autoconf-archive \
autoconf2.13 \
automake \
autotools-dev \
boost1.74 \
build-essential \
ca-certificates \
cmake \
curl \
git \
liblz4-dev \
libnss-db \
libmagic-dev \
libsodium-dev \
libssl-dev \
libtool \
libzstd-dev \
shtool \
xz-utils && \
update-ca-certificates && \
apt-get clean && \
apt-get autoremove --purge -y && \
rm -rf /var/lib/apt/lists/*
ENV ROCKSDB_VERSION=6.11.4
ARG skiprocks
RUN \
if test -n "$skiprocks"; then \
exit 0; \
fi && \
cd /usr/src && \
curl -sL https://codeload.github.com/facebook/rocksdb/tar.gz/refs/tags/v${ROCKSDB_VERSION} -o rocksdb-${ROCKSDB_VERSION}.tar.gz && \
tar xfvz rocksdb-${ROCKSDB_VERSION}.tar.gz && \
rm rocksdb-${ROCKSDB_VERSION}.tar.gz && \
ln -s /usr/src/rocksdb-${ROCKSDB_VERSION} /usr/src/rocksdb && \
cd /usr/src/rocksdb-${ROCKSDB_VERSION} && \
CFLAGS="-g0" \
LDFLAGS="-Wl,--strip-all" \
cmake -H. -Bbuild \
-DCMAKE_RULE_MESSAGES:BOOL=OFF \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DWITH_JNI=0 \
-DWITH_TESTS=0 \
-DWITH_BENCHMARK_TOOLS=0 \
-DWITH_CORE_TOOLS=0 \
-DFAIL_ON_WARNINGS=0 \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_GFLAGS=0 \
-DWITH_LIBURING=0 \
-DWITH_LZ4=1 \
-DWITH_ZSTD=1 \
-DUSE_RTTI=1 \
-DBUILD_SHARED_LIBS=1 && \
cmake --build build --target install && \
rm -rf build
RUN mkdir /build
WORKDIR /build

View file

@ -0,0 +1,10 @@
FROM jevolk/construct:ubuntu-22.04-full
ENV CC clang-14
ENV CXX clang++-14
RUN apt-get update \
&& apt-get install --no-install-recommends -y clang-14 llvm-14-dev \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

View file

@ -0,0 +1,16 @@
FROM jevolk/construct:ubuntu-22.04-base
ENV DEBIAN_FRONTEND=noninteractive
RUN \
apt-get update && \
apt-get install --no-install-recommends -y \
opencl-headers \
libgraphicsmagick1-dev \
libicu-dev \
libjemalloc-dev \
libopencl-clang-dev \
libpng-dev && \
apt-get clean && \
apt-get autoremove --purge -y && \
rm -rf /var/lib/apt/lists/*