| #!/bin/bash |
| # This script is used for testing install.sh and that it works for |
| # each of component of our apt and yum repos |
| set -e |
| |
| test_install_script(){ |
| # these are equivalent to main, testing, experimental components |
| # in the repos, but its the url that will do the conversion |
| components=( experimental test get ) |
| |
| for component in "${components[@]}"; do |
| # change url to specific component for testing |
| local test_url=https://${component}.docker.com |
| local script=$(mktemp /tmp/install-XXXXXXXXXX.sh) |
| sed "s,url='https://get.docker.com/',url='${test_url}/'," hack/install.sh > "${script}" |
| |
| chmod +x "${script}" |
| |
| # test for each Dockerfile in contrib/builder |
| for dir in contrib/builder/*/*/; do |
| local from="$(awk 'toupper($1) == "FROM" { print $2; exit }' "$dir/Dockerfile")" |
| |
| echo "running install.sh for ${component} with ${from}" |
| docker run --rm -i -v ${script}:/install.sh ${from} /install.sh |
| done |
| |
| rm -f ${script} |
| done |
| } |
| |
| test_install_script |