-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.sh
executable file
·55 lines (39 loc) · 1.86 KB
/
build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/bash
#
# Usage: build.sh [osmesa|egl] [all]
#
set -e
readonly paraview_version="5.10.0"
BASE_DIR=$(dirname $(readlink -f ${BASH_SOURCE}))
tag_suffix=""
file_suffix=".qt"
if [ "${1:-}" = "osmesa" ]; then
tag_suffix="-osmesa"
file_suffix=".osmesa"
elif [ "${1:-}" = "egl" ]; then
tag_suffix="-egl"
file_suffix=".egl"
fi
readonly base_image="${USER}/paraview-superbuild:${paraview_version}-common"
docker build --network=host --rm -t "${base_image}" -f "${BASE_DIR}/Dockerfile.base" \
--build-arg paraview_version=v${paraview_version} \
--build-arg superbuild_version=v${paraview_version} \
"${BASE_DIR}"
readonly tag="${USER}/paraview-superbuild:${paraview_version}${tag_suffix}"
readonly dockerfile="${BASE_DIR}/Dockerfile${file_suffix}"
build_args="--build-arg IMAGE_NAME=${base_image}"
docker build --target base --network=host --rm -t ${tag}-base -f "${dockerfile}" \
${build_args} "${BASE_DIR}"
docker build --target builder --network=host --rm -t ${tag}-builder -f "${dockerfile}" \
${build_args} "${BASE_DIR}"
docker build --target package --network=host --rm -t ${tag}-package -f "${dockerfile}" \
${build_args} "${BASE_DIR}"
docker build --network=host --rm -t ${tag} -f "${dockerfile}" \
${build_args} "${BASE_DIR}"
# create package
docker run -itd --name paraview-package ${tag}-package
docker exec paraview-package bash -c "mv /home/paraview/package /home/paraview/ParaView-${paraview_version}${tag_suffix}-MPI-Linux-Python3.9-x86_64"
docker exec paraview-package bash -c "cd /home/paraview && tar czf ParaView-${paraview_version}${tag_suffix}-MPI-Linux-Python3.9-x86_64.tar.gz ParaView-${paraview_version}${tag_suffix}-MPI-Linux-Python3.9-x86_64/"
docker cp paraview-package:/home/paraview/ParaView-${paraview_version}${tag_suffix}-MPI-Linux-Python3.9-x86_64.tar.gz .
docker stop paraview-package
docker rm paraview-package