mirror of
https://github.com/matrix-construct/construct
synced 2025-02-18 01:30:12 +01:00
docker: Upgrade images to 22.04; update appveyor build matrix.
This commit is contained in:
parent
7b2af2cf1c
commit
d5302087bc
23 changed files with 300 additions and 17 deletions
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -18,6 +18,7 @@ RUN \
|
|||
curl \
|
||||
git \
|
||||
libbz2-dev \
|
||||
liblz4-dev \
|
||||
libgraphicsmagick1-dev \
|
||||
libicu-dev \
|
||||
libjemalloc-dev \
|
10
docker/ubuntu/20.04/clang-11/Dockerfile
Normal file
10
docker/ubuntu/20.04/clang-11/Dockerfile
Normal 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/*
|
||||
|
10
docker/ubuntu/20.04/clang-12/Dockerfile
Normal file
10
docker/ubuntu/20.04/clang-12/Dockerfile
Normal 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/*
|
||||
|
10
docker/ubuntu/22.04/base-clang-10/Dockerfile
Normal file
10
docker/ubuntu/22.04/base-clang-10/Dockerfile
Normal 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/*
|
||||
|
10
docker/ubuntu/22.04/base-clang-11/Dockerfile
Normal file
10
docker/ubuntu/22.04/base-clang-11/Dockerfile
Normal 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/*
|
||||
|
10
docker/ubuntu/22.04/base-clang-12/Dockerfile
Normal file
10
docker/ubuntu/22.04/base-clang-12/Dockerfile
Normal 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/*
|
||||
|
10
docker/ubuntu/22.04/base-clang-13/Dockerfile
Normal file
10
docker/ubuntu/22.04/base-clang-13/Dockerfile
Normal 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/*
|
||||
|
10
docker/ubuntu/22.04/base-clang-14/Dockerfile
Normal file
10
docker/ubuntu/22.04/base-clang-14/Dockerfile
Normal 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/*
|
||||
|
9
docker/ubuntu/22.04/base-gcc-10/Dockerfile
Normal file
9
docker/ubuntu/22.04/base-gcc-10/Dockerfile
Normal 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/*
|
9
docker/ubuntu/22.04/base-gcc-11/Dockerfile
Normal file
9
docker/ubuntu/22.04/base-gcc-11/Dockerfile
Normal 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/*
|
9
docker/ubuntu/22.04/base-gcc-12/Dockerfile
Normal file
9
docker/ubuntu/22.04/base-gcc-12/Dockerfile
Normal 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/*
|
9
docker/ubuntu/22.04/base-gcc-8/Dockerfile
Normal file
9
docker/ubuntu/22.04/base-gcc-8/Dockerfile
Normal 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/*
|
9
docker/ubuntu/22.04/base-gcc-9/Dockerfile
Normal file
9
docker/ubuntu/22.04/base-gcc-9/Dockerfile
Normal 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/*
|
67
docker/ubuntu/22.04/base/Dockerfile
Normal file
67
docker/ubuntu/22.04/base/Dockerfile
Normal 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
|
10
docker/ubuntu/22.04/full-clang-14/Dockerfile
Normal file
10
docker/ubuntu/22.04/full-clang-14/Dockerfile
Normal 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/*
|
||||
|
16
docker/ubuntu/22.04/full/Dockerfile
Normal file
16
docker/ubuntu/22.04/full/Dockerfile
Normal 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/*
|
Loading…
Add table
Reference in a new issue