Skip to content

Commit ba5559b

Browse files
committed
feat: rework tests
Create an image to run tests rather than binding the host tests folder fix #1209
1 parent 03f40a0 commit ba5559b

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

build.sh

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,42 +66,58 @@ export BASEIMAGE
6666
export DEVTOOLSET_ROOTPATH
6767
export PREPEND_PATH
6868
export LD_LIBRARY_PATH_ARG
69+
export MANYLINUX_IMAGE="quay.io/pypa/${POLICY}_${PLATFORM}:${COMMIT_SHA}"
6970

7071
BUILD_ARGS_COMMON=(
7172
"--platform=linux/${GOARCH}"
73+
"--pull=true"
7274
--build-arg POLICY --build-arg PLATFORM --build-arg BASEIMAGE
7375
--build-arg DEVTOOLSET_ROOTPATH --build-arg PREPEND_PATH --build-arg LD_LIBRARY_PATH_ARG
74-
--rm -t "quay.io/pypa/${POLICY}_${PLATFORM}:${COMMIT_SHA}"
76+
--rm -t "${MANYLINUX_IMAGE}"
7577
-f docker/Dockerfile docker/
7678
)
79+
TEST_ARGS_COMMON=(
80+
"--platform=linux/${GOARCH}"
81+
"--pull=false"
82+
--build-arg MANYLINUX_IMAGE
83+
--rm -t "${MANYLINUX_IMAGE}-tests"
84+
-f tests/Dockerfile tests/
85+
)
7786

7887
if [ "${CI:-}" == "true" ]; then
7988
# Force plain output on CI
8089
BUILD_ARGS_COMMON=(--progress plain "${BUILD_ARGS_COMMON[@]}")
90+
TEST_ARGS_COMMON=(--progress plain "${TEST_ARGS_COMMON[@]}")
8191
# Workaround issue on ppc64le
8292
if [ "${PLATFORM}" == "ppc64le" ] && [ "${MANYLINUX_BUILD_FRONTEND}" == "docker" ]; then
8393
BUILD_ARGS_COMMON=(--network host "${BUILD_ARGS_COMMON[@]}")
94+
TEST_ARGS_COMMON=(--network host "${TEST_ARGS_COMMON[@]}")
8495
fi
8596
fi
8697

8798
USE_LOCAL_CACHE=0
99+
TEST_COMMAND="docker"
88100
if [ "${MANYLINUX_BUILD_FRONTEND}" == "docker" ]; then
89101
docker build "${BUILD_ARGS_COMMON[@]}"
102+
docker build "${TEST_ARGS_COMMON[@]}"
90103
elif [ "${MANYLINUX_BUILD_FRONTEND}" == "podman" ]; then
104+
TEST_COMMAND="podman"
91105
podman build "${BUILD_ARGS_COMMON[@]}"
106+
podman build "${TEST_ARGS_COMMON[@]}"
92107
elif [ "${MANYLINUX_BUILD_FRONTEND}" == "docker-buildx" ]; then
93108
USE_LOCAL_CACHE=1
94109
docker buildx build \
95110
--load \
96111
"--cache-from=type=local,src=$(pwd)/.buildx-cache-${POLICY}_${PLATFORM}" \
97112
"--cache-to=type=local,dest=$(pwd)/.buildx-cache-staging-${POLICY}_${PLATFORM},mode=max" \
98113
"${BUILD_ARGS_COMMON[@]}"
114+
docker buildx build --load "${TEST_ARGS_COMMON[@]}"
99115
else
100116
echo "Unsupported build frontend: '${MANYLINUX_BUILD_FRONTEND}'"
101117
exit 1
102118
fi
103119

104-
docker run --rm -v "$(pwd)/tests:/tests:ro" "quay.io/pypa/${POLICY}_${PLATFORM}:${COMMIT_SHA}" /tests/run_tests.sh
120+
${TEST_COMMAND} run --rm "${MANYLINUX_IMAGE}-tests" /tests/run_tests.sh
105121

106122
if [ ${USE_LOCAL_CACHE} -ne 0 ]; then
107123
if [ -d "$(pwd)/.buildx-cache-${POLICY}_${PLATFORM}" ]; then

tests/Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# default to latest supported policy, x86_64
2+
ARG MANYLINUX_IMAGE=quay.io/pypa/manylinux_2_34_x86_64
3+
FROM ${MANYLINUX_IMAGE}
4+
COPY . /tests/

0 commit comments

Comments
 (0)