1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/bin/bash
- print_banner() {
- printf "\n\n\n\e[30m\e[42m$1\e[0m\n\n\n\n"
- }
- print_green() {
- printf "\e[30m\e[42m$1\e[0m\n"
- }
- print_red() {
- printf "\e[30m\e[41m$1\e[0m\n"
- }
- images=(
- "pytorch/pytorch:nightly-devel-cuda10.0-cudnn7"
- "pytorch/pytorch:1.1.0-cuda10.0-cudnn7.5-devel"
- "pytorch/pytorch:1.0.1-cuda10.0-cudnn7-devel"
- "pytorch/pytorch:1.0-cuda10.0-cudnn7-devel"
- "pytorch/pytorch:nightly-devel-cuda9.2-cudnn7"
- )
- branch="master"
- # Associative array for exit codes
- declare -A exit_codes
- for image in images
- do
- exit_codes[$image]="None"
- done
- for image in "${images[@]}"
- do
- print_banner "$image"
- set -x
- docker pull $image
- # Trying python setup.py install instead of pip install to ensure direct access to error codes.
- # Maybe pip install would be ok too but this works.
- docker run --runtime=nvidia --rm $image /bin/bash -c "yes | pip uninstall apex; yes | pip uninstall apex; git clone https://github.com/NVIDIA/apex.git; cd apex; git checkout $branch; set -e; python setup.py install --cuda_ext --cpp_ext"
- exit_code=$?
- set +x
- if [ $exit_code != 0 ]
- then
- print_red "Exit code: $exit_code"
- else
- print_green "Exit code: $exit_code"
- fi
- exit_codes[$image]=$exit_code
- done
- success=0
- for image in "${images[@]}"
- do
- exit_code=${exit_codes[$image]}
- if [ $exit_code != 0 ]
- then
- print_red "$image : $exit_code"
- success=1
- else
- print_green "$image : $exit_code"
- fi
- done
- if [ $success != 0 ]
- then
- print_red "Overall status: failure"
- else
- print_green "Overall status: success"
- fi
- exit $success
|