From 7edaee784d67cd44abdaa6f689e0e42dc2c6e363 Mon Sep 17 00:00:00 2001 From: Zach Borboa Date: Sat, 28 Jul 2018 22:44:01 -0700 Subject: [PATCH] Add files to run php56 tests inside a docker container --- tests/dockerfiles/php56/1_build.sh | 2 ++ tests/dockerfiles/php56/2_run.sh | 14 ++++++++++++++ tests/dockerfiles/php56/3_test.sh | 17 +++++++++++++++++ tests/dockerfiles/php56/Dockerfile | 18 ++++++++++++++++++ 4 files changed, 51 insertions(+) create mode 100755 tests/dockerfiles/php56/1_build.sh create mode 100755 tests/dockerfiles/php56/2_run.sh create mode 100755 tests/dockerfiles/php56/3_test.sh create mode 100644 tests/dockerfiles/php56/Dockerfile diff --git a/tests/dockerfiles/php56/1_build.sh b/tests/dockerfiles/php56/1_build.sh new file mode 100755 index 0000000..2135baa --- /dev/null +++ b/tests/dockerfiles/php56/1_build.sh @@ -0,0 +1,2 @@ +# Build an image. +docker build --tag="php-curl-class/php56" . diff --git a/tests/dockerfiles/php56/2_run.sh b/tests/dockerfiles/php56/2_run.sh new file mode 100755 index 0000000..3afbf98 --- /dev/null +++ b/tests/dockerfiles/php56/2_run.sh @@ -0,0 +1,14 @@ +# Run image to create container and attach to it. + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +set -x +cd "${SCRIPT_DIR}/../../.." +project_dir="${PWD}" + +docker run \ + --interactive \ + --mount "type=bind,src=${project_dir},dst=/data,readonly=true" \ + --name=php56 \ + --rm \ + --tty \ + "php-curl-class/php56" /bin/bash diff --git a/tests/dockerfiles/php56/3_test.sh b/tests/dockerfiles/php56/3_test.sh new file mode 100755 index 0000000..5441411 --- /dev/null +++ b/tests/dockerfiles/php56/3_test.sh @@ -0,0 +1,17 @@ +# Run tests inside container. +command=$(cat <<-END +mkdir --parents "/tmp/php-curl-class" && +rsync --exclude=".git" --exclude="vendor" --links --recursive "/data/" "/tmp/php-curl-class/" && +cd "/tmp/php-curl-class" && +export TRAVIS_PHP_VERSION="5.6" && +( + [ ! -f "/tmp/.composer_updated" ] && + composer --no-interaction update && + touch "/tmp/.composer_updated" || + exit 0 +) && +bash "tests/before_script.sh" && +bash "tests/script.sh" +END +) +docker exec --interactive --tty "php56" sh -c "${command}" diff --git a/tests/dockerfiles/php56/Dockerfile b/tests/dockerfiles/php56/Dockerfile new file mode 100644 index 0000000..467c99f --- /dev/null +++ b/tests/dockerfiles/php56/Dockerfile @@ -0,0 +1,18 @@ +FROM php:5.6-cli +ENV DEBIAN_FRONTEND noninteractive + +RUN apt-get --assume-yes --quiet update + +RUN apt-get --assume-yes --quiet install git && \ + apt-get --assume-yes --quiet install libpng-dev && \ + apt-get --assume-yes --quiet install zip + +RUN curl --silent --show-error "https://getcomposer.org/installer" | php && \ + mv "composer.phar" "/usr/local/bin/composer" && \ + composer global require --no-interaction "phpunit/phpunit" + +RUN docker-php-ext-configure gd && \ + docker-php-ext-install gd + +ENV PATH /root/.composer/vendor/bin:$PATH +CMD ["bash"]