Skip to content

Commit 6109deb

Browse files
authored
Merge pull request #2157 from DARMA-tasking/2156-generalize-containers-for-arm
2156 generalize containers for arm
2 parents a8b59f5 + c6c16d4 commit 6109deb

7 files changed

+70
-28
lines changed

ci/deps/cmake.sh

+19-2
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,29 @@ set -exo pipefail
44

55
if test $# -lt 1
66
then
7-
echo "usage: ./$0 <cmake-version>"
7+
echo "usage: ./$0 <cmake-version> <arch>"
88
exit 1
99
fi
1010

1111
cmake_version=$1
12-
cmake_tar_name=cmake-${cmake_version}-Linux-x86_64.tar.gz
12+
arch=x86_64
13+
14+
if test $# -gt 1
15+
then
16+
arch=$2
17+
fi
18+
19+
if test "${arch}" = "arm64v8"
20+
then
21+
arch=aarch64
22+
fi
23+
24+
if test "${arch}" = "amd64"
25+
then
26+
arch=x86_64
27+
fi
28+
29+
cmake_tar_name=cmake-${cmake_version}-linux-$arch.tar.gz
1330

1431
echo "${cmake_version}"
1532
echo "${cmake_tar_name}"

ci/docker/ubuntu-20.04-gnu-openmpi-cpp.dockerfile

+3-1
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,10 @@ RUN if test ${zoltan_enabled} -eq 1; then \
5151
ENV CC=gcc \
5252
CXX=g++
5353

54+
ARG arch
55+
5456
COPY ./ci/deps/cmake.sh cmake.sh
55-
RUN ./cmake.sh 3.23.4
57+
RUN ./cmake.sh 3.23.4 ${arch}
5658

5759
ENV PATH=/cmake/bin/:$PATH
5860
ENV LESSCHARSET=utf-8

ci/docker/ubuntu-clang-cpp.dockerfile

+3-1
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,10 @@ ENV CC=${compiler} \
4343
COPY ./ci/deps/libunwind.sh libunwind.sh
4444
RUN ./libunwind.sh 1.6.2
4545

46+
ARG arch
47+
4648
COPY ./ci/deps/cmake.sh cmake.sh
47-
RUN ./cmake.sh 3.23.4
49+
RUN ./cmake.sh 3.23.4 ${arch}
4850

4951
ENV PATH=/cmake/bin/:$PATH
5052
ENV LESSCHARSET=utf-8

ci/docker/ubuntu-gnu-cpp.dockerfile

+3-1
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,10 @@ RUN if test ${zoltan_enabled} -eq 1; then \
5656
ENV CC=gcc \
5757
CXX=g++
5858

59+
ARG arch
60+
5961
COPY ./ci/deps/cmake.sh cmake.sh
60-
RUN ./cmake.sh 3.23.4
62+
RUN ./cmake.sh 3.23.4 ${arch}
6163

6264
ENV PATH=/cmake/bin/:$PATH
6365
ENV LESSCHARSET=utf-8

ci/docker/ubuntu-gnu-docs.dockerfile

+3-1
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ ENV MPI_EXTRA_FLAGS="" \
3838
CXX=mpicxx \
3939
PATH=/usr/lib/ccache/:$PATH
4040

41+
ARG arch
42+
4143
COPY ./ci/deps/cmake.sh cmake.sh
42-
RUN ./cmake.sh 3.23.4
44+
RUN ./cmake.sh 3.23.4 ${arch}
4345

4446
ENV PATH=/cmake/bin/:$PATH
4547

ci/docker/ubuntu-nvidia-cpp.dockerfile

+3-1
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,10 @@ RUN apt-get update -y && \
4040
ENV CC=gcc \
4141
CXX=g++
4242

43+
ARG arch
44+
4345
COPY ./ci/deps/cmake.sh cmake.sh
44-
RUN ./cmake.sh 3.23.4
46+
RUN ./cmake.sh 3.23.4 ${arch}
4547

4648
ENV PATH=/cmake/bin/:$PATH
4749
ENV LESSCHARSET=utf-8

docker-compose.yml

+36-21
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
#
6464

6565
# Need verision >= 3.5 for the features in use
66-
version: '3.5'
66+
version: '3.8'
6767

6868
# Named volumes must be predefined according the docker compose rules. Many
6969
# combinations have already been added, but if a needed configuration is missing
@@ -95,6 +95,31 @@ volumes:
9595
amd64-alpine-icpc-icpc-cache:
9696
amd64-alpine-gcc-9-11.0.3-cache:
9797
amd64-alpine-gcc-9-11.2.0-cache:
98+
arm64v8-ubuntu-18.04-clang-8-clang-8-cache:
99+
arm64v8-ubuntu-18.04-clang-9-clang-9-cache:
100+
arm64v8-ubuntu-20.04-clang-10-clang-10-cache:
101+
arm64v8-ubuntu-22.04-clang-11-clang-11-cache:
102+
arm64v8-ubuntu-18.04-gcc-8-gcc-8-cache:
103+
arm64v8-ubuntu-20.04-gcc-9-gcc-9-cache:
104+
arm64v8-ubuntu-20.04-gcc-10-gcc-10-cache:
105+
arm64v8-ubuntu-22.04-gcc-12-gcc-12-cache:
106+
arm64v8-ubuntu-18.04-icpx-icpx-cache:
107+
arm64v8-ubuntu-18.04-icpc-icpc-cache:
108+
arm64v8-ubuntu-20.04-gcc-9-11.0.3-cache:
109+
arm64v8-ubuntu-20.04-gcc-9-11.2.0-cache:
110+
arm64v8-alpine-clang-8-clang-8-cache:
111+
arm64v8-alpine-clang-9-clang-9-cache:
112+
arm64v8-alpine-clang-10-clang-10-cache:
113+
arm64v8-alpine-clang-11-clang-11-cache:
114+
arm64v8-alpine-clang-13-clang-13-cache:
115+
arm64v8-alpine-gcc-8-gcc-8-cache:
116+
arm64v8-alpine-gcc-9-gcc-9-cache:
117+
arm64v8-alpine-gcc-10-gcc-10-cache:
118+
arm64v8-alpine-gcc-12-gcc-12-cache:
119+
arm64v8-alpine-icpx-icpx-cache:
120+
arm64v8-alpine-icpc-icpc-cache:
121+
arm64v8-alpine-gcc-9-11.0.3-cache:
122+
arm64v8-alpine-gcc-9-11.2.0-cache:
98123

99124
# Define basic rules for ccache used across multiple services. The beauty of
100125
# docker compose with cached volumes is that similarly configured builds will
@@ -167,8 +192,7 @@ services:
167192
ulimits: &ulimits
168193
core: ${ULIMIT_CORE}
169194
environment:
170-
<<: *ccache
171-
<<: *vtopts
195+
<<: [*ccache, *vtopts]
172196
volumes: &ubuntu-volumes
173197
- .:/vt:delegated
174198
- ${CACHE}${ARCH}-ubuntu-${UBUNTU}-${HOST_COMPILER}-${COMPILER}-cache:/build:delegated
@@ -195,8 +219,7 @@ services:
195219
- ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${HOST_COMPILER}-${COMPILER}-cpp
196220
ulimits: *ulimits
197221
environment:
198-
<<: *ccache
199-
<<: *vtopts
222+
<<: [*ccache, *vtopts]
200223
volumes: *ubuntu-volumes
201224
command: &vt-build-test-clean-cpp-command >
202225
/bin/bash -c "
@@ -222,8 +245,7 @@ services:
222245
- ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${HOST_COMPILER}-${COMPILER}-cpp
223246
ulimits: *ulimits
224247
environment:
225-
<<: *ccache
226-
<<: *vtopts
248+
<<: [*ccache, *vtopts]
227249
volumes: *ubuntu-volumes
228250
command: &vt-build-test-clean-noinstall-cpp-command >
229251
/bin/bash -c "
@@ -252,8 +274,7 @@ services:
252274
- ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${HOST_COMPILER}-${COMPILER}-cpp
253275
ulimits: *ulimits
254276
environment:
255-
<<: *ccache
256-
<<: *vtopts
277+
<<: [*ccache, *vtopts]
257278
volumes: *ubuntu-volumes
258279

259280
##############################################################################
@@ -274,8 +295,7 @@ services:
274295
- ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${HOST_COMPILER}-${COMPILER}-openmpi-cpp
275296
ulimits: *ulimits
276297
environment:
277-
<<: *ccache
278-
<<: *vtopts
298+
<<: [*ccache, *vtopts]
279299
OMPI_MCA_btl: "^vader"
280300
volumes: *ubuntu-volumes
281301
command: *vt-build-test-clean-cpp-command
@@ -294,8 +314,7 @@ services:
294314
- ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${HOST_COMPILER}-${COMPILER}-openmpi-cpp
295315
ulimits: *ulimits
296316
environment:
297-
<<: *ccache
298-
<<: *vtopts
317+
<<: [*ccache, *vtopts]
299318
OMPI_MCA_btl: "^vader"
300319
volumes: *ubuntu-volumes
301320

@@ -309,14 +328,12 @@ services:
309328
target: build
310329
dockerfile: ci/docker/ubuntu-${COMPILER_TYPE}-cpp.dockerfile
311330
args:
312-
<<: *default-args
313-
<<: *vtopts
331+
<<: [*default-args, *vtopts]
314332
cache_from:
315333
- ${REPO}:${ARCH}-ubuntu-${UBUNTU}-${HOST_COMPILER}-${COMPILER}-cpp
316334
ulimits: *ulimits
317335
environment:
318-
<<: *ccache
319-
<<: *vtopts
336+
<<: [*ccache, *vtopts]
320337
volumes: *ubuntu-volumes
321338
command: &cpp-command >
322339
/bin/bash -c "
@@ -405,8 +422,7 @@ services:
405422
- ${REPO}:${ARCH}-alpine-${HOST_COMPILER}-${COMPILER}-cpp
406423
ulimits: *ulimits
407424
environment:
408-
<<: *ccache
409-
<<: *vtopts
425+
<<: [*ccache, *vtopts]
410426
volumes: &alpine-volumes
411427
- .:/vt:delegated
412428
- ${CACHE}${ARCH}-alpine-${HOST_COMPILER}-${COMPILER}-cache:/build:delegated
@@ -426,7 +442,6 @@ services:
426442
- ${REPO}:${ARCH}-alpine-${HOST_COMPILER}-${COMPILER}-cpp
427443
ulimits: *ulimits
428444
environment:
429-
<<: *ccache
430-
<<: *vtopts
445+
<<: [*ccache, *vtopts]
431446
volumes: *alpine-volumes
432447
command: *vt-build-test-clean-cpp-command

0 commit comments

Comments
 (0)