docker/ubuntu: Reorg tree; optimize images.
This commit is contained in:
parent
3c59438fae
commit
9f72d7e037
|
@ -8,59 +8,14 @@ environment:
|
|||
COMMAND: if [[ "${APPVEYOR_REPO_COMMIT_MESSAGE@Q}" == *"[ci debug]"* ]]; then export DEBUG_FLAGS="--enable-debug"; fi; if [[ "${APPVEYOR_REPO_COMMIT_MESSAGE@Q}" == *"[ci gdb]"* ]]; then apt-get update && apt-get -y install gdb && export CONSTRUCT="gdb --batch -ex r -ex bt --return-child-result --args construct"; else export CONSTRUCT="construct"; fi && rmdir -v deps/rocksdb && ln -sv /usr/src/rocksdb deps && ./autogen.sh && ./configure --enable-assert ${DEBUG_FLAGS} && make install && ${CONSTRUCT} -smoketest -debug 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-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-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-build-gcc-9-amd64
|
||||
|
||||
- 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
|
||||
DOCKER_IMAGE: jevolk/construct:ubuntu-22.04-base-build-gcc-12-amd64
|
||||
|
||||
- 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
|
||||
DOCKER_IMAGE: jevolk/construct:ubuntu-22.04-full-build-clang-14-amd64
|
||||
|
||||
for:
|
||||
-
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|:---|:---|
|
||||
| [![](https://img.shields.io/docker/image-size/jevolk/construct/alpine-3.16-full-built-clang-amd64.svg?logoWidth=25&label=alpine%203.16%20clang%20amd64&logo=Docker&style=flat-square&color=5965AF)](https://registry.hub.docker.com/r/jevolk/construct/tags) | [![](https://img.shields.io/docker/image-size/jevolk/construct/alpine-3.16-base-built-clang-amd64.svg?logoWidth=25&label=alpine%203.16%20clang%20amd64&logo=Docker&style=flat-square&color=5965AF)](https://registry.hub.docker.com/r/jevolk/construct/tags)
|
||||
| [![](https://img.shields.io/docker/image-size/jevolk/construct/alpine-3.16-full-built-gcc-amd64.svg?logoWidth=25&label=alpine%203.16%20gcc%20amd64&logo=Docker&style=flat-square&color=5965AF)](https://registry.hub.docker.com/r/jevolk/construct/tags) | [![](https://img.shields.io/docker/image-size/jevolk/construct/alpine-3.16-base-built-gcc-amd64.svg?logoWidth=25&label=alpine%203.16%20gcc%20amd64&logo=Docker&style=flat-square&color=5965AF)](https://registry.hub.docker.com/r/jevolk/construct/tags)
|
||||
| [![](https://img.shields.io/docker/image-size/jevolk/construct/ubuntu-22.04-built.svg?logoWidth=25&label=ubuntu%2022.04%20amd64&logo=Docker&style=flat-square&color=5965AF)](https://registry.hub.docker.com/r/jevolk/construct/tags) | |
|
||||
| [![](https://img.shields.io/docker/image-size/jevolk/construct/ubuntu-22.04-full-built-clang-14-amd64.svg?logoWidth=25&label=ubuntu%2022.04%20amd64&logo=Docker&style=flat-square&color=5965AF)](https://registry.hub.docker.com/r/jevolk/construct/tags) | |
|
||||
|
||||
### 🗒️ INSTRUCTIONS
|
||||
|
||||
|
|
|
@ -94,32 +94,68 @@ docker push $ACCT/$REPO:alpine-3.16-full-built-clang-amd64
|
|||
# Ubuntu 22.04
|
||||
#
|
||||
|
||||
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-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 -t $ACCT/$REPO:ubuntu-22.04-built $BASEDIR/ubuntu/22.04/full-clang-14
|
||||
#
|
||||
# L0 - Base featured image
|
||||
#
|
||||
|
||||
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-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
|
||||
docker push $ACCT/$REPO:ubuntu-22.04-built
|
||||
ARGS="$ARGS_"
|
||||
ARGS="$ARGS --platform linux/amd64"
|
||||
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-amd64 $BASEDIR/ubuntu/22.04/base
|
||||
|
||||
#
|
||||
# L1 - Fully featured image
|
||||
#
|
||||
|
||||
ARGS="$ARGS_"
|
||||
ARGS="$ARGS --platform linux/amd64"
|
||||
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-full-amd64 $BASEDIR/ubuntu/22.04/full
|
||||
|
||||
#
|
||||
# L2/L3 - Build/Built/Test
|
||||
#
|
||||
|
||||
ARGS="$ARGS_"
|
||||
ARGS="$ARGS --platform linux/amd64"
|
||||
ARGS="$ARGS --build-arg feature=base"
|
||||
ARGS="$ARGS --build-arg extra_packages_dev=gcc-9"
|
||||
ARGS="$ARGS --build-arg extra_packages_dev1=g++-9"
|
||||
ARGS="$ARGS --build-arg cc=gcc-9 --build-arg cxx=g++-9"
|
||||
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-build-gcc-9-amd64 $BASEDIR/ubuntu/22.04/build
|
||||
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-built-gcc-9-amd64 $BASEDIR/ubuntu/22.04/built
|
||||
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-test-gcc-9-amd64 $BASEDIR/ubuntu/22.04/test
|
||||
|
||||
ARGS="$ARGS_"
|
||||
ARGS="$ARGS --platform linux/amd64"
|
||||
ARGS="$ARGS --build-arg feature=base"
|
||||
ARGS="$ARGS --build-arg extra_packages_dev=gcc-12"
|
||||
ARGS="$ARGS --build-arg extra_packages_dev1=g++-12"
|
||||
ARGS="$ARGS --build-arg cc=gcc-12 --build-arg cxx=g++-12"
|
||||
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-build-gcc-12-amd64 $BASEDIR/ubuntu/22.04/build
|
||||
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-built-gcc-12-amd64 $BASEDIR/ubuntu/22.04/built
|
||||
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-base-test-gcc-12-amd64 $BASEDIR/ubuntu/22.04/test
|
||||
|
||||
ARGS="$ARGS_"
|
||||
ARGS="$ARGS --platform linux/amd64"
|
||||
ARGS="$ARGS --build-arg feature=full"
|
||||
ARGS="$ARGS --build-arg extra_packages_dev=clang-14"
|
||||
ARGS="$ARGS --build-arg extra_packages_dev1=llvm-14-dev"
|
||||
ARGS="$ARGS --build-arg cc=clang-14 --build-arg cxx=clang++-14"
|
||||
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-full-build-clang-14-amd64 $BASEDIR/ubuntu/22.04/build
|
||||
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-full-built-clang-14-amd64 $BASEDIR/ubuntu/22.04/built
|
||||
docker build $ARGS -t $ACCT/$REPO:ubuntu-22.04-full-test-clang-14-amd64 $BASEDIR/ubuntu/22.04/test
|
||||
|
||||
#
|
||||
# Pushed images
|
||||
#
|
||||
|
||||
docker push $ACCT/$REPO:ubuntu-22.04-base-build-gcc-9-amd64
|
||||
docker push $ACCT/$REPO:ubuntu-22.04-base-built-gcc-9-amd64
|
||||
|
||||
docker push $ACCT/$REPO:ubuntu-22.04-base-build-gcc-12-amd64
|
||||
docker push $ACCT/$REPO:ubuntu-22.04-base-built-gcc-12-amd64
|
||||
|
||||
docker push $ACCT/$REPO:ubuntu-22.04-full-build-clang-14-amd64
|
||||
docker push $ACCT/$REPO:ubuntu-22.04-full-built-clang-14-amd64
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
FROM jevolk/construct:ubuntu-22.04-base
|
||||
|
||||
ENV CC clang-10
|
||||
ENV CXX clang++-10
|
||||
|
||||
ENV packages="\
|
||||
clang-10 \
|
||||
llvm-10-dev \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y ${packages} \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& true
|
|
@ -1,16 +0,0 @@
|
|||
FROM jevolk/construct:ubuntu-22.04-base
|
||||
|
||||
ENV CC clang-11
|
||||
ENV CXX clang++-11
|
||||
|
||||
ENV packages="\
|
||||
clang-11 \
|
||||
llvm-11-dev \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y ${packages} \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& true
|
|
@ -1,16 +0,0 @@
|
|||
FROM jevolk/construct:ubuntu-22.04-base
|
||||
|
||||
ENV CC clang-12
|
||||
ENV CXX clang++-12
|
||||
|
||||
ENV packages="\
|
||||
clang-12 \
|
||||
llvm-12-dev \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y ${packages} \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& true
|
|
@ -1,16 +0,0 @@
|
|||
FROM jevolk/construct:ubuntu-22.04-base
|
||||
|
||||
ENV CC clang-13
|
||||
ENV CXX clang++-13
|
||||
|
||||
ENV packages="\
|
||||
clang-13 \
|
||||
llvm-13-dev \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y ${packages} \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& true
|
|
@ -1,16 +0,0 @@
|
|||
FROM jevolk/construct:ubuntu-22.04-base
|
||||
|
||||
ENV CC clang-14
|
||||
ENV CXX clang++-14
|
||||
|
||||
ENV packages="\
|
||||
clang-14 \
|
||||
llvm-14-dev \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y ${packages} \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& true
|
|
@ -1,16 +0,0 @@
|
|||
FROM jevolk/construct:ubuntu-22.04-base
|
||||
|
||||
ENV CC gcc-10
|
||||
ENV CXX g++-10
|
||||
|
||||
ENV packages="\
|
||||
gcc-10 \
|
||||
g++-10 \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y ${packages} \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& true
|
|
@ -1,16 +0,0 @@
|
|||
FROM jevolk/construct:ubuntu-22.04-base
|
||||
|
||||
ENV CC gcc-11
|
||||
ENV CXX g++-11
|
||||
|
||||
ENV packages="\
|
||||
gcc-11 \
|
||||
g++-11 \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y ${packages} \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& true
|
|
@ -1,16 +0,0 @@
|
|||
FROM jevolk/construct:ubuntu-22.04-base
|
||||
|
||||
ENV CC gcc-12
|
||||
ENV CXX g++-12
|
||||
|
||||
ENV packages="\
|
||||
gcc-12 \
|
||||
g++-12 \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y ${packages} \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& true
|
|
@ -1,16 +0,0 @@
|
|||
FROM jevolk/construct:ubuntu-22.04-base
|
||||
|
||||
ENV CC gcc-8
|
||||
ENV CXX g++-8
|
||||
|
||||
ENV packages="\
|
||||
gcc-8 \
|
||||
g++-8 \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y ${packages} \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& true
|
|
@ -1,16 +0,0 @@
|
|||
FROM jevolk/construct:ubuntu-22.04-base
|
||||
|
||||
ENV CC gcc-9
|
||||
ENV CXX g++-9
|
||||
|
||||
ENV packages="\
|
||||
gcc-9 \
|
||||
g++-9 \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y ${packages} \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& true
|
|
@ -1,41 +1,54 @@
|
|||
FROM ubuntu:22.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ARG skiprocks
|
||||
ARG rocksdb_version 7.4.3
|
||||
ARG rocksdb_url
|
||||
|
||||
ENV rocksdb_version ${rocksdb_version}
|
||||
ENV rocksdb_url https://codeload.github.com/facebook/rocksdb/tar.gz/refs/tags/v${rocksdb_version}
|
||||
|
||||
ENV packages="\
|
||||
autoconf \
|
||||
autoconf-archive \
|
||||
autoconf2.13 \
|
||||
automake \
|
||||
autotools-dev \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
libjemalloc2 \
|
||||
libboost-chrono1.74 \
|
||||
libboost-context1.74 \
|
||||
libboost-coroutine1.74 \
|
||||
libboost-system1.74 \
|
||||
libboost-thread1.74 \
|
||||
libicu70 \
|
||||
libnss-db \
|
||||
libsodium23 \
|
||||
libssl3 \
|
||||
liblz4-1 \
|
||||
libmagic1 \
|
||||
libzstd1 \
|
||||
"
|
||||
|
||||
ENV packages_rocksdb_dev="\
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
git \
|
||||
libjemalloc-dev \
|
||||
liblz4-dev \
|
||||
libzstd-dev \
|
||||
xz-utils \
|
||||
"
|
||||
|
||||
ENV packages_dev="\
|
||||
${packages_rocksdb_dev} \
|
||||
libboost-chrono1.74-dev \
|
||||
libboost-context1.74-dev \
|
||||
libboost-coroutine1.74-dev \
|
||||
libboost-system1.74-dev \
|
||||
libboost-thread1.74-dev \
|
||||
liblz4-dev \
|
||||
libnss-db \
|
||||
libicu-dev \
|
||||
libmagic-dev \
|
||||
libsodium-dev \
|
||||
libssl-dev \
|
||||
libtool \
|
||||
libzstd-dev \
|
||||
shtool \
|
||||
xz-utils \
|
||||
"
|
||||
|
||||
ENV purges="\
|
||||
cmake \
|
||||
curl \
|
||||
"
|
||||
|
||||
ENV rocks_version=7.4.3
|
||||
ENV rocks_cmake="\
|
||||
ENV rocksdb_cmake="\
|
||||
-DCMAKE_RULE_MESSAGES:BOOL=OFF \
|
||||
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
|
||||
-DWITH_JNI=0 \
|
||||
|
@ -46,43 +59,54 @@ ENV rocks_cmake="\
|
|||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DWITH_GFLAGS=0 \
|
||||
-DWITH_LIBURING=0 \
|
||||
-DWITH_JEMALLOC=1 \
|
||||
-DWITH_LZ4=1 \
|
||||
-DWITH_ZSTD=1 \
|
||||
-DUSE_RTTI=1 \
|
||||
-DBUILD_SHARED_LIBS=1 \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
ENV do_install true \
|
||||
&& export DEBIAN_FRONTEND=noninteractive \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y ${packages}\
|
||||
&& update-ca-certificates \
|
||||
&& apt-get install --no-install-recommends -y -f
|
||||
|
||||
ENV do_purge true \
|
||||
&& export DEBIAN_FRONTEND=noninteractive \
|
||||
&& apt-get purge -y
|
||||
|
||||
ENV do_clean true \
|
||||
&& export DEBIAN_FRONTEND=noninteractive \
|
||||
&& apt-get clean \
|
||||
&& apt-get autoremove --purge -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& true
|
||||
|
||||
RUN true \
|
||||
&& eval ${do_install} ${packages} \
|
||||
&& update-ca-certificates \
|
||||
&& eval ${do_clean} \
|
||||
&& mkdir /build \
|
||||
&& true
|
||||
|
||||
ARG skiprocks
|
||||
WORKDIR /build
|
||||
RUN true \
|
||||
&& if test -n "$skiprocks"; then \
|
||||
exit 0; \
|
||||
fi \
|
||||
&& eval ${do_install} ${packages_rocksdb_dev} \
|
||||
&& cd /usr/src \
|
||||
&& curl -sL https://codeload.github.com/facebook/rocksdb/tar.gz/refs/tags/v${rocks_version} -o rocksdb-${rocks_version}.tar.gz \
|
||||
&& tar xfvz rocksdb-${rocks_version}.tar.gz \
|
||||
&& rm rocksdb-${rocks_version}.tar.gz \
|
||||
&& ln -s /usr/src/rocksdb-${rocks_version} /usr/src/rocksdb \
|
||||
&& cd /usr/src/rocksdb-${rocks_version} \
|
||||
&& curl -sL ${rocksdb_url} -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" \
|
||||
CFLAGS="-g0 -ftls-model=initial-exec" \
|
||||
LDFLAGS="-Wl,--strip-all" \
|
||||
cmake -H. -Bbuild ${rocks_cmake} \
|
||||
cmake -H. -Bbuild ${rocksdb_cmake} \
|
||||
&& cmake --build build --target install --parallel `nproc` \
|
||||
&& rm -rf build \
|
||||
&& apt-get purge -y ${purges} \
|
||||
&& apt-get clean \
|
||||
&& apt-get autoremove --purge -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& eval ${do_purge} ${packages_rocksdb_dev} \
|
||||
&& eval ${do_clean} \
|
||||
&& true
|
||||
|
||||
WORKDIR /build
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
ARG acct
|
||||
ARG repo
|
||||
ARG feature
|
||||
|
||||
FROM ${acct}/${repo}:ubuntu-22.04-${feature}-${TARGETARCH}
|
||||
|
||||
ARG cc
|
||||
ARG cxx
|
||||
ARG extra_packages_dev
|
||||
ARG extra_packages_dev1
|
||||
ARG extra_packages_dev2
|
||||
ARG ctor_url https://github.com/matrix-construct/construct
|
||||
|
||||
ENV CC ${cc}
|
||||
ENV CXX ${cxx}
|
||||
ENV ctor_url ${ctor_url}
|
||||
|
||||
ENV packages_dev="\
|
||||
${packages_dev} \
|
||||
autoconf \
|
||||
autoconf-archive \
|
||||
autoconf2.13 \
|
||||
automake \
|
||||
autotools-dev \
|
||||
libtool \
|
||||
shtool \
|
||||
${extra_packages_dev} \
|
||||
${extra_packages_dev1} \
|
||||
${extra_packages_dev2} \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
&& eval ${do_install} ${packages_dev} \
|
||||
&& eval ${do_clean} \
|
||||
&& true
|
|
@ -1,21 +1,37 @@
|
|||
FROM jevolk/construct:ubuntu-22.04-full-clang-14
|
||||
ARG acct
|
||||
ARG repo
|
||||
ARG feature
|
||||
|
||||
ENV purges="\
|
||||
FROM ${acct}/${repo}:ubuntu-22.04-${feature}-${TARGETARCH}
|
||||
|
||||
ARG cc
|
||||
ARG cxx
|
||||
ARG extra_packages_dev
|
||||
ARG extra_packages_dev1
|
||||
ARG extra_packages_dev2
|
||||
ARG ctor_url https://github.com/matrix-construct/construct
|
||||
|
||||
ENV CC ${cc}
|
||||
ENV CXX ${cxx}
|
||||
ENV ctor_url ${ctor_url}
|
||||
|
||||
ENV packages_dev="\
|
||||
${packages_dev} \
|
||||
autoconf \
|
||||
autoconf-archive \
|
||||
autoconf2.13 \
|
||||
automake \
|
||||
autotools-dev \
|
||||
build-essential \
|
||||
clang-14 \
|
||||
git \
|
||||
libtool \
|
||||
llvm-14-dev \
|
||||
shtool \
|
||||
${extra_packages_dev} \
|
||||
${extra_packages_dev1} \
|
||||
${extra_packages_dev2} \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
&& git clone https://github.com/matrix-construct/construct \
|
||||
&& eval ${do_install} ${packages_dev} \
|
||||
&& git clone ${ctor_url} construct \
|
||||
&& cd construct \
|
||||
&& rmdir -v deps/rocksdb \
|
||||
&& ln -sv /usr/src/rocksdb deps \
|
||||
|
@ -26,12 +42,6 @@ RUN true \
|
|||
&& cd .. \
|
||||
&& rm -rf construct \
|
||||
&& rm -rf /usr/src/rocksdb* \
|
||||
&& apt-get purge -y ${purges} \
|
||||
&& apt-get autoremove --purge -y \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
true
|
||||
|
||||
RUN true \
|
||||
&& construct -smoketest -debug -nomatrix \
|
||||
&& eval ${do_purge} ${packages_dev} \
|
||||
&& eval ${do_clean} \
|
||||
&& true
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
FROM jevolk/construct:ubuntu-22.04-full
|
||||
|
||||
ENV CC clang-14
|
||||
ENV CXX clang++-14
|
||||
|
||||
ENV packages="\
|
||||
clang-14 \
|
||||
llvm-14-dev \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y ${packages} \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& true
|
|
@ -1,19 +1,20 @@
|
|||
FROM jevolk/construct:ubuntu-22.04-base
|
||||
ARG acct
|
||||
ARG repo
|
||||
|
||||
FROM ${acct}/${repo}:ubuntu-22.04-base-${TARGETARCH}
|
||||
|
||||
ENV packages="\
|
||||
opencl-headers \
|
||||
libgraphicsmagick1-dev \
|
||||
libgraphicsmagick-q16-3 \
|
||||
libicu-dev \
|
||||
libjemalloc-dev \
|
||||
libopencl-clang-dev \
|
||||
libpng16-16 \
|
||||
"
|
||||
|
||||
ENV packages_dev="\
|
||||
${packages_dev} \
|
||||
libgraphicsmagick1-dev \
|
||||
libpng-dev \
|
||||
"
|
||||
|
||||
RUN true \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y ${packages} \
|
||||
&& apt-get clean \
|
||||
&& apt-get autoremove --purge -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& eval ${do_install} ${packages} \
|
||||
&& eval ${do_clean} \
|
||||
&& true
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
ARG acct
|
||||
ARG repo
|
||||
ARG feature
|
||||
ARG cc
|
||||
|
||||
FROM ${acct}/${repo}:ubuntu-22.04-${feature}-built-${cc}-${TARGETARCH}
|
||||
|
||||
WORKDIR /root
|
||||
RUN true \
|
||||
&& construct -debug -smoketest localhost \
|
||||
&& true
|
Loading…
Reference in New Issue