all 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. --tty \
  8. ${GIT_VOLUME} \
  9. --entrypoint="tox" \
  10. "$TAG" -e pre-commit
  11. get_versions="docker run --rm
  12. --entrypoint=/code/.tox/py27/bin/python
  13. $TAG
  14. /code/script/test/versions.py docker/docker-ce,moby/moby"
  15. if [ "$DOCKER_VERSIONS" == "" ]; then
  16. DOCKER_VERSIONS="$($get_versions default)"
  17. elif [ "$DOCKER_VERSIONS" == "all" ]; then
  18. DOCKER_VERSIONS=$($get_versions -n 2 recent)
  19. fi
  20. BUILD_NUMBER=${BUILD_NUMBER-$USER}
  21. PY_TEST_VERSIONS=${PY_TEST_VERSIONS:-py27,py36}
  22. for version in $DOCKER_VERSIONS; do
  23. >&2 echo "Running tests against Docker $version"
  24. daemon_container="compose-dind-$version-$BUILD_NUMBER"
  25. function on_exit() {
  26. if [[ "$?" != "0" ]]; then
  27. docker logs "$daemon_container" 2>&1 | tail -n 100
  28. fi
  29. docker rm -vf "$daemon_container"
  30. }
  31. trap "on_exit" EXIT
  32. repo="dockerswarm/dind"
  33. docker run \
  34. -d \
  35. --name "$daemon_container" \
  36. --privileged \
  37. --volume="/var/lib/docker" \
  38. "$repo:$version" \
  39. dockerd -H tcp://0.0.0.0:2375 $DOCKER_DAEMON_ARGS \
  40. 2>&1 | tail -n 10
  41. docker run \
  42. --rm \
  43. --tty \
  44. --link="$daemon_container:docker" \
  45. --env="DOCKER_HOST=tcp://docker:2375" \
  46. --env="DOCKER_VERSION=$version" \
  47. --entrypoint="tox" \
  48. "$TAG" \
  49. -e "$PY_TEST_VERSIONS" -- "$@"
  50. done