From 2141c4916c81aa180e1ae28a1db40d574c866bbe Mon Sep 17 00:00:00 2001 From: Dominik Liebler Date: Wed, 27 Dec 2017 08:48:20 +0100 Subject: [PATCH] #315 fixed docker compose error and switched to PHP 7.2.0 --- Dockerfile | 7 +++++++ docker-compose.yml | 8 ++++---- docker/test_runner.sh | 19 +++++++++++++------ 3 files changed, 24 insertions(+), 10 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b5413a3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM php:7.2.0-cli +WORKDIR /opt/php +RUN apt-get update \ + && apt-get install -y zlib1g-dev wget git-core \ + && docker-php-ext-install zip +ADD . /opt/php +CMD [ "./docker/test_runner.sh" ] diff --git a/docker-compose.yml b/docker-compose.yml index 21dad2c..25b94e1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,9 +1,9 @@ version: "3.1" - services: php: - image: php:7.1.7-cli + build: + context: . + dockerfile: Dockerfile volumes: - .:/opt/php - privileged: true - command: ["/opt/php/docker/test_runner.sh"] \ No newline at end of file + command: ["/opt/php/docker/test_runner.sh"] diff --git a/docker/test_runner.sh b/docker/test_runner.sh index dbe3677..6ce56da 100755 --- a/docker/test_runner.sh +++ b/docker/test_runner.sh @@ -1,12 +1,19 @@ -#!/usr/bin/env bash - -cd /opt/php +#!/bin/sh echo "Installing composer..." +EXPECTED_SIGNATURE=$(wget -q -O - https://composer.github.io/installer.sig) php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" -php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" -php composer-setup.php -php -r "unlink('composer-setup.php');" +ACTUAL_SIGNATURE=$(php -r "echo hash_file('SHA384', 'composer-setup.php');") + +if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ] +then + >&2 echo 'ERROR: Invalid installer signature' + rm composer-setup.php + exit 1 +fi + +php composer-setup.php --quiet +rm composer-setup.php echo "Downloading dependencies using composer..." php composer.phar install --prefer-dist --no-interaction