| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!/bin/bash
- # This should be run inside a container built from the Dockerfile
- # at the root of the repo - script/test will do it automatically.
- set -e
- >&2 echo "Running lint checks"
- docker run --rm \
- --tty \
- ${GIT_VOLUME} \
- "$TAG" tox -e pre-commit
- get_versions="docker run --rm
- --entrypoint=/code/.tox/py37/bin/python
- $TAG
- /code/script/test/versions.py docker/docker-ce,moby/moby"
- if [ "$DOCKER_VERSIONS" == "" ]; then
- DOCKER_VERSIONS="$($get_versions default)"
- elif [ "$DOCKER_VERSIONS" == "all" ]; then
- DOCKER_VERSIONS=$($get_versions -n 2 recent)
- fi
- BUILD_NUMBER=${BUILD_NUMBER-$USER}
- PY_TEST_VERSIONS=${PY_TEST_VERSIONS:-py37}
- for version in $DOCKER_VERSIONS; do
- >&2 echo "Running tests against Docker $version"
- daemon_container="compose-dind-$version-$BUILD_NUMBER"
- function on_exit() {
- if [[ "$?" != "0" ]]; then
- docker logs "$daemon_container" 2>&1 | tail -n 100
- fi
- docker rm -vf "$daemon_container"
- }
- trap "on_exit" EXIT
- docker run \
- -d \
- --name "$daemon_container" \
- --privileged \
- --volume="/var/lib/docker" \
- -e "DOCKER_TLS_CERTDIR=" \
- "docker:$version-dind" \
- dockerd -H tcp://0.0.0.0:2375 $DOCKER_DAEMON_ARGS \
- 2>&1 | tail -n 10
- docker exec "$daemon_container" sh -c "apk add --no-cache git"
- # copy docker config from host for authentication with Docker Hub
- docker exec "$daemon_container" sh -c "mkdir /root/.docker"
- docker cp /root/.docker/config.json $daemon_container:/root/.docker/config.json
- docker exec "$daemon_container" sh -c "chmod 644 /root/.docker/config.json"
- docker run \
- --rm \
- --tty \
- --link="$daemon_container:docker" \
- --env="DOCKER_HOST=tcp://docker:2375" \
- --env="DOCKER_VERSION=$version" \
- --entrypoint="tox" \
- "$TAG" \
- -e "$PY_TEST_VERSIONS" -- "$@"
- done
|