1
0

test-versions 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #!/bin/bash
  2. # This should be run inside a container built from the Dockerfile
  3. # at the root of the repo - script/test will do it automatically.
  4. set -e
  5. >&2 echo "Running lint checks"
  6. docker run --rm \
  7. ${GIT_VOLUME} \
  8. --entrypoint="tox" \
  9. "$TAG" -e pre-commit
  10. get_versions="docker run --rm
  11. --entrypoint=/code/.tox/py27/bin/python
  12. $TAG
  13. /code/script/versions.py docker/docker"
  14. if [ "$DOCKER_VERSIONS" == "" ]; then
  15. DOCKER_VERSIONS="$($get_versions default)"
  16. elif [ "$DOCKER_VERSIONS" == "all" ]; then
  17. DOCKER_VERSIONS="$($get_versions recent -n 2)"
  18. fi
  19. BUILD_NUMBER=${BUILD_NUMBER-$USER}
  20. for version in $DOCKER_VERSIONS; do
  21. >&2 echo "Running tests against Docker $version"
  22. daemon_container="compose-dind-$version-$BUILD_NUMBER"
  23. function on_exit() {
  24. if [[ "$?" != "0" ]]; then
  25. docker logs "$daemon_container"
  26. fi
  27. docker rm -vf "$daemon_container"
  28. }
  29. trap "on_exit" EXIT
  30. docker run \
  31. -d \
  32. --name "$daemon_container" \
  33. --privileged \
  34. --volume="/var/lib/docker" \
  35. dockerswarm/dind:$version \
  36. docker daemon -H tcp://0.0.0.0:2375 $DOCKER_DAEMON_ARGS \
  37. docker run \
  38. --rm \
  39. --link="$daemon_container:docker" \
  40. --env="DOCKER_HOST=tcp://docker:2375" \
  41. --entrypoint="tox" \
  42. "$TAG" \
  43. -e py27,py34 -- "$@"
  44. done