30 lines
1.3 KiB
Bash
Executable File
30 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# This section is used in the binary_test and smoke_test jobs. It expects
|
|
# 'binary_populate_env' to have populated /home/circleci/project/env and it
|
|
# expects another section to populate /home/circleci/project/ci_test_script.sh
|
|
# with the code to run in the docker
|
|
|
|
# Expect all needed environment variables to be written to this file
|
|
source /home/circleci/project/env
|
|
echo "Running the following code in Docker"
|
|
cat /home/circleci/project/ci_test_script.sh
|
|
echo
|
|
echo
|
|
set -eux -o pipefail
|
|
|
|
# Expect actual code to be written to this file
|
|
chmod +x /home/circleci/project/ci_test_script.sh
|
|
|
|
VOLUME_MOUNTS="-v /home/circleci/project/:/circleci_stuff -v /home/circleci/project/final_pkgs:/final_pkgs -v ${PYTORCH_ROOT}:/pytorch -v ${BUILDER_ROOT}:/builder"
|
|
# Run the docker
|
|
if [ -n "${USE_CUDA_DOCKER_RUNTIME:-}" ]; then
|
|
export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --gpus all ${VOLUME_MOUNTS} -t -d "${DOCKER_IMAGE}")
|
|
else
|
|
export id=$(docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined ${VOLUME_MOUNTS} -t -d "${DOCKER_IMAGE}")
|
|
fi
|
|
|
|
# Execute the test script that was populated by an earlier section
|
|
export COMMAND='((echo "source /circleci_stuff/env && /circleci_stuff/ci_test_script.sh") | docker exec -i "$id" bash) 2>&1'
|
|
echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts
|