1
1
ARG arch=amd64
2
2
ARG ubuntu=20.04
3
- FROM ${arch}/ubuntu:${ubuntu} as base
3
+ FROM ${arch}/ubuntu:${ubuntu} AS base
4
4
5
5
ARG proxy=""
6
6
ARG compiler=clang-11
@@ -14,22 +14,27 @@ ENV DEBIAN_FRONTEND=noninteractive
14
14
15
15
RUN apt-get update -y -q && \
16
16
apt-get install -y -q --no-install-recommends \
17
- ${compiler} \
18
- ${ubsan_enabled:+llvm-$(echo ${compiler} | cut -d- -f2)} \
19
- ca-certificates \
20
- ccache \
21
- curl \
22
- git \
23
- less \
24
- libomp-dev \
25
- libomp5 \
26
- make-guile \
27
- ninja-build \
28
- python3 \
29
- valgrind \
30
- wget \
31
- zlib1g \
32
- zlib1g-dev && \
17
+ ${compiler} \
18
+ ${ubsan_enabled:+llvm-$(echo ${compiler} | cut -d- -f2)} \
19
+ brotli \
20
+ ca-certificates \
21
+ ccache \
22
+ curl \
23
+ git \
24
+ less \
25
+ libomp-dev \
26
+ libomp5 \
27
+ make-guile \
28
+ ninja-build \
29
+ python3 \
30
+ python3-brotli \
31
+ python3-deepdiff \
32
+ python3-pip \
33
+ python3-schema \
34
+ valgrind \
35
+ wget \
36
+ zlib1g \
37
+ zlib1g-dev && \
33
38
apt-get clean && \
34
39
rm -rf /var/lib/apt/lists/*
35
40
@@ -52,10 +57,7 @@ ENV PATH=/cmake/bin/:$PATH
52
57
ENV LESSCHARSET=utf-8
53
58
54
59
COPY ./ci/deps/mpich.sh mpich.sh
55
- RUN if [ "$ubuntu" = "18.04" ]; then \
56
- ./mpich.sh 3.3.2 -j4; else \
57
- ./mpich.sh 4.0.2 -j4; \
58
- fi
60
+ RUN ./mpich.sh 4.0.2 -j4
59
61
60
62
ENV MPI_EXTRA_FLAGS="" \
61
63
CMAKE_PREFIX_PATH="/lib/x86_64-linux-gnu/" \
@@ -64,52 +66,9 @@ ENV MPI_EXTRA_FLAGS="" \
64
66
65
67
FROM base as build
66
68
COPY . /vt
67
-
68
- ARG BUILD_SHARED_LIBS
69
- ARG CMAKE_BUILD_TYPE
70
- ARG VT_ASAN_ENABLED
71
- ARG VT_DOXYGEN_ENABLED
72
- ARG VT_EXTENDED_TESTS_ENABLED
73
- ARG VT_FCONTEXT_ENABLED
74
- ARG VT_LB_ENABLED
75
- ARG VT_MIMALLOC_ENABLED
76
- ARG VT_NO_COLOR_ENABLED
77
- ARG VT_POOL_ENABLED
78
- ARG VT_PRODUCTION_BUILD_ENABLED
79
- ARG VT_TRACE_ENABLED
80
- ARG VT_TRACE_RUNTIME_ENABLED
81
- ARG VT_UBSAN_ENABLED
82
- ARG VT_WERROR_ENABLED
83
- ARG CMAKE_CXX_STANDARD
84
- ARG VT_DEBUG_VERBOSE
85
- ARG VT_CI_BUILD
86
-
87
- ENV BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} \
88
- CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
89
- VT_ASAN_ENABLED=${VT_ASAN_ENABLED} \
90
- VT_DIAGNOSTICS_ENABLED=${VT_DIAGNOSTICS_ENABLED} \
91
- VT_DIAGNOSTICS_RUNTIME_ENABLED=${VT_DIAGNOSTICS_RUNTIME_ENABLED} \
92
- VT_DOXYGEN_ENABLED=${VT_DOXYGEN_ENABLED} \
93
- VT_EXTENDED_TESTS_ENABLED=${VT_EXTENDED_TESTS_ENABLED} \
94
- VT_FCONTEXT_ENABLED=${VT_FCONTEXT_ENABLED} \
95
- VT_LB_ENABLED=${VT_LB_ENABLED} \
96
- VT_MIMALLOC_ENABLED=${VT_MIMALLOC_ENABLED} \
97
- VT_MPI_GUARD_ENABLED=${VT_MPI_GUARD_ENABLED} \
98
- VT_NO_COLOR_ENABLED=${VT_NO_COLOR_ENABLED} \
99
- VT_POOL_ENABLED=${VT_POOL_ENABLED} \
100
- VT_PRODUCTION_BUILD_ENABLED=${VT_PRODUCTION_BUILD_ENABLED} \
101
- VT_TRACE_ENABLED=${VT_TRACE_ENABLED} \
102
- VT_TRACE_RUNTIME_ENABLED=${VT_TRACE_RUNTIME} \
103
- VT_UBSAN_ENABLED=${VT_UBSAN_ENABLED} \
104
- VT_UNITY_BUILD_ENABLED=${VT_UNITY_BUILD_ENABLED} \
105
- VT_WERROR_ENABLED=${VT_WERROR_ENABLED} \
106
- CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} \
107
- VT_DEBUG_VERBOSE=${VT_DEBUG_VERBOSE} \
108
- VT_CI_BUILD=${VT_CI_BUILD}
109
-
110
69
RUN /vt/ci/build_cpp.sh /vt /build
111
70
112
- FROM build as test
71
+ FROM build AS test
113
72
RUN /vt/ci/test_cpp.sh /vt /build
114
73
115
74
RUN /vt/ci/build_vt_sample.sh /vt /build
0 commit comments