1
1
ARG DOCKER_IMAGE_BASE
2
2
FROM ${DOCKER_IMAGE_BASE}
3
3
4
-
5
4
# Build arguments. This can be changed when invoking
6
5
# `docker build`.
7
6
ARG ASAN_BUILD
@@ -27,99 +26,31 @@ ARG USE_OPENMP
27
26
ARG Z3_SRC_DIR=/home/user/z3_src
28
27
ARG Z3_BUILD_TYPE
29
28
ARG Z3_CMAKE_GENERATOR
29
+ ARG Z3_GIT_VERSION
30
30
ARG Z3_INSTALL_PREFIX
31
31
ARG Z3_STATIC_BUILD
32
32
ARG Z3_SYSTEM_TEST_GIT_REVISION
33
33
ARG Z3_WARNINGS_AS_ERRORS
34
34
ARG Z3_VERBOSE_BUILD_OUTPUT
35
35
36
36
ENV \
37
- ASAN_BUILD=${ASAN_BUILD} \
38
- ASAN_DSO=${ASAN_DSO} \
39
- BUILD_DOCS=${BUILD_DOCS} \
40
37
CC=${CC} \
38
+ Z3_GIT_VERSION=${Z3_GIT_VERSION} \
41
39
CXX=${CXX} \
42
- DOTNET_BINDINGS=${DOTNET_BINDINGS} \
43
- JAVA_BINDINGS=${JAVA_BINDINGS} \
44
- NO_SUPPRESS_OUTPUT=${NO_SUPPRESS_OUTPUT} \
45
- PYTHON_BINDINGS=${PYTHON_BINDINGS} \
46
- PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} \
47
- SANITIZER_PRINT_SUPPRESSIONS=${SANITIZER_PRINT_SUPPRESSIONS} \
48
- RUN_API_EXAMPLES=${RUN_API_EXAMPLES} \
49
- RUN_SYSTEM_TESTS=${RUN_SYSTEM_TESTS} \
50
- RUN_UNIT_TESTS=${RUN_UNIT_TESTS} \
51
- TARGET_ARCH=${TARGET_ARCH} \
52
- TEST_INSTALL=${TEST_INSTALL} \
53
- UBSAN_BUILD=${UBSAN_BUILD} \
54
- USE_LIBGMP=${USE_LIBGMP} \
55
- USE_LTO=${USE_LTO} \
56
- USE_OPENMP=${USE_OPENMP} \
57
40
Z3_SRC_DIR=${Z3_SRC_DIR} \
58
41
Z3_BUILD_DIR=/home/user/z3_build \
59
- Z3_BUILD_TYPE=${Z3_BUILD_TYPE} \
60
- Z3_CMAKE_GENERATOR=${Z3_CMAKE_GENERATOR} \
61
- Z3_VERBOSE_BUILD_OUTPUT=${Z3_VERBOSE_BUILD_OUTPUT} \
62
- Z3_STATIC_BUILD=${Z3_STATIC_BUILD} \
63
- Z3_SYSTEM_TEST_DIR=/home/user/z3_system_test \
64
- Z3_SYSTEM_TEST_GIT_REVISION=${Z3_SYSTEM_TEST_GIT_REVISION} \
65
- Z3_WARNINGS_AS_ERRORS=${Z3_WARNINGS_AS_ERRORS} \
66
- Z3_INSTALL_PREFIX=${Z3_INSTALL_PREFIX}
67
-
68
- # We add context across incrementally to maximal cache reuse
42
+ Z3_BUILD_TYPE=${Z3_BUILD_TYPE}
69
43
70
44
# Build Z3
71
- RUN mkdir -p "${Z3_SRC_DIR}" && \
72
- mkdir -p "${Z3_SRC_DIR}/contrib/ci/scripts" && \
73
- mkdir -p "${Z3_SRC_DIR}/contrib/suppressions/sanitizers"
74
- # Deliberately leave out `contrib`
75
- ADD /cmake ${Z3_SRC_DIR}/cmake/
76
- ADD /doc ${Z3_SRC_DIR}/doc/
77
- ADD /examples ${Z3_SRC_DIR}/examples/
78
- ADD /scripts ${Z3_SRC_DIR}/scripts/
79
- ADD /src ${Z3_SRC_DIR}/src/
80
- ADD *.txt *.md RELEASE_NOTES ${Z3_SRC_DIR}/
81
-
82
- ADD \
83
- /contrib/ci/scripts/build_z3_cmake.sh \
84
- /contrib/ci/scripts/ci_defaults.sh \
85
- /contrib/ci/scripts/set_compiler_flags.sh \
86
- /contrib/ci/scripts/set_generator_args.sh \
87
- ${Z3_SRC_DIR}/contrib/ci/scripts/
88
- RUN ${Z3_SRC_DIR}/contrib/ci/scripts/build_z3_cmake.sh
89
-
90
- # Test building docs
91
- ADD \
92
- /contrib/ci/scripts/test_z3_docs.sh \
93
- /contrib/ci/scripts/run_quiet.sh \
94
- ${Z3_SRC_DIR}/contrib/ci/scripts/
95
- RUN ${Z3_SRC_DIR}/contrib/ci/scripts/test_z3_docs.sh
96
-
97
- # Test examples
98
- ADD \
99
- /contrib/ci/scripts/test_z3_examples_cmake.sh \
100
- /contrib/ci/scripts/sanitizer_env.sh \
101
- ${Z3_SRC_DIR}/contrib/ci/scripts/
102
- ADD \
103
- /contrib/suppressions/sanitizers/asan.txt \
104
- /contrib/suppressions/sanitizers/lsan.txt \
105
- /contrib/suppressions/sanitizers/ubsan.txt \
106
- ${Z3_SRC_DIR}/contrib/suppressions/sanitizers/
107
- RUN ${Z3_SRC_DIR}/contrib/ci/scripts/test_z3_examples_cmake.sh
108
-
109
- # Run unit tests
110
- ADD \
111
- /contrib/ci/scripts/test_z3_unit_tests_cmake.sh \
112
- ${Z3_SRC_DIR}/contrib/ci/scripts/
113
- RUN ${Z3_SRC_DIR}/contrib/ci/scripts/test_z3_unit_tests_cmake.sh
114
-
115
- # Run system tests
116
- ADD \
117
- /contrib/ci/scripts/test_z3_system_tests.sh \
118
- ${Z3_SRC_DIR}/contrib/ci/scripts/
119
- RUN ${Z3_SRC_DIR}/contrib/ci/scripts/test_z3_system_tests.sh
45
+ RUN mkdir -p "${Z3_SRC_DIR}"
46
+ ADD --chown=user /cmake ${Z3_SRC_DIR}/cmake/
47
+ ADD --chown=user /doc ${Z3_SRC_DIR}/doc/
48
+ ADD --chown=user /examples ${Z3_SRC_DIR}/examples/
49
+ ADD --chown=user /scripts ${Z3_SRC_DIR}/scripts/
50
+ ADD --chown=user /src ${Z3_SRC_DIR}/src/
51
+ ADD --chown=user *.txt *.md RELEASE_NOTES ${Z3_SRC_DIR}/
52
+ ADD --chown=user /linux_common.sh ${Z3_SRC_DIR}/
53
+ ADD --chown=user /common.sh ${Z3_SRC_DIR}/
54
+ ADD --chown=user /package_z3_linux.sh ${Z3_SRC_DIR}/
55
+ RUN ${Z3_SRC_DIR}/package_z3_linux.sh
120
56
121
- # Test install
122
- ADD \
123
- /contrib/ci/scripts/test_z3_install_cmake.sh \
124
- ${Z3_SRC_DIR}/contrib/ci/scripts/
125
- RUN ${Z3_SRC_DIR}/contrib/ci/scripts/test_z3_install_cmake.sh
0 commit comments