wip travis
authorgggeek <giunta.gaetano@gmail.com>
Sun, 13 Dec 2020 15:56:07 +0000 (15:56 +0000)
committergggeek <giunta.gaetano@gmail.com>
Sun, 13 Dec 2020 15:56:07 +0000 (15:56 +0000)
.travis.yml
tests/ci/setup/setup_php.sh
tests/ci/setup/setup_php_travis.sh [new file with mode: 0644]

index c564652..2f500cb 100644 (file)
@@ -38,7 +38,7 @@ before_install:
   - sudo chmod 755 ./tests/ci/setup/*.sh
   - sudo ./tests/ci/setup/setup_apache.sh
   - sudo ./tests/ci/setup/setup_privoxy.sh
-  - sudo ./tests/ci/setup/setup_php.sh
+  - sudo ./tests/ci/setup/setup_php_travis.sh
 
 install:
   - composer install
index 0572037..e4302b9 100644 (file)
@@ -15,90 +15,54 @@ configure_php_ini() {
     fi
 }
 
-if [ "$TRAVIS" != true ]; then
+# install php
+PHP_VERSION="$1"
+DEBIAN_VERSION="$(lsb_release -s -c)"
 
-    # install php
-    PHP_VERSION="$1"
-    DEBIAN_VERSION="$(lsb_release -s -c)"
-
-    if [ "${PHP_VERSION}" = default ]; then
-        if [ "${DEBIAN_VERSION}" = jessie -o "${DEBIAN_VERSION}" = precise -o "${DEBIAN_VERSION}" = trusty ]; then
-            PHPSUFFIX=5
-        else
-            PHPSUFFIX=
-        fi
-        # @todo check for mbstring presence in php5 (jessie) packages
-        DEBIAN_FRONTEND=noninteractive apt-get install -y \
-            php${PHPSUFFIX} \
-            php${PHPSUFFIX}-cli \
-            php${PHPSUFFIX}-dom \
-            php${PHPSUFFIX}-curl \
-            php${PHPSUFFIX}-fpm \
-            php${PHPSUFFIX}-mbstring \
-            php${PHPSUFFIX}-xdebug
+if [ "${PHP_VERSION}" = default ]; then
+    if [ "${DEBIAN_VERSION}" = jessie -o "${DEBIAN_VERSION}" = precise -o "${DEBIAN_VERSION}" = trusty ]; then
+        PHPSUFFIX=5
     else
-        DEBIAN_FRONTEND=noninteractive apt-get install -y language-pack-en-base software-properties-common
-        LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
-        apt-get update
-
-        DEBIAN_FRONTEND=noninteractive apt-get install -y \
-            php${PHP_VERSION} \
-            php${PHP_VERSION}-cli \
-            php${PHP_VERSION}-dom \
-            php${PHP_VERSION}-curl \
-            php${PHP_VERSION}-fpm \
-            php${PHP_VERSION}-mbstring \
-            php${PHP_VERSION}-xdebug
-
-        update-alternatives --set php /usr/bin/php${PHP_VERSION}
+        PHPSUFFIX=
     fi
-
-    PHPVER=$(php -r 'echo implode(".",array_slice(explode(".",PHP_VERSION),0,2));' 2>/dev/null)
-
-    configure_php_ini /etc/php/${PHPVER}/fpm/php.ini
-
-    # use a nice name for the php-fpm service, so that it does not depend on php version running
-    service "php${PHPVER}-fpm" stop
-    ln -s "/etc/init.d/php${PHPVER}-fpm" /etc/init.d/php-fpm
-
-    # @todo shall we configure php-fpm?
-
-    service php-fpm start
-
-    # configure apache
-    a2enconf php${PHPVER}-fpm
-    service apache2 restart
-
+    # @todo check for mbstring presence in php5 (jessie) packages
+    DEBIAN_FRONTEND=noninteractive apt-get install -y \
+        php${PHPSUFFIX} \
+        php${PHPSUFFIX}-cli \
+        php${PHPSUFFIX}-dom \
+        php${PHPSUFFIX}-curl \
+        php${PHPSUFFIX}-fpm \
+        php${PHPSUFFIX}-mbstring \
+        php${PHPSUFFIX}-xdebug
 else
+    DEBIAN_FRONTEND=noninteractive apt-get install -y language-pack-en-base software-properties-common
+    LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
+    apt-get update
+
+    DEBIAN_FRONTEND=noninteractive apt-get install -y \
+        php${PHP_VERSION} \
+        php${PHP_VERSION}-cli \
+        php${PHP_VERSION}-dom \
+        php${PHP_VERSION}-curl \
+        php${PHP_VERSION}-fpm \
+        php${PHP_VERSION}-mbstring \
+        php${PHP_VERSION}-xdebug
+
+    update-alternatives --set php /usr/bin/php${PHP_VERSION}
+fi
 
-    # php is already installed, via phpenv
-
-    PHPVER=$(phpenv version-name)
+PHPVER=$(php -r 'echo implode(".",array_slice(explode(".",PHP_VERSION),0,2));' 2>/dev/null)
 
-    configure_php_ini ~/.phpenv/versions/${PHPVER}/etc/php.ini
+configure_php_ini /etc/php/${PHPVER}/fpm/php.ini
 
-    # configure php-fpm
-    cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.conf
+# use a nice name for the php-fpm service, so that it does not depend on php version running
+service "php${PHPVER}-fpm" stop
+ln -s "/etc/init.d/php${PHPVER}-fpm" /etc/init.d/php-fpm
 
-    # work around travis issue #3385
-    if [ -d ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d ]; then
-        if [ "$TRAVIS_PHP_VERSION" = "7.0" -a -n "$(ls -A ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d)" ]; then
-          cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
-        fi
-        if [ "$TRAVIS_PHP_VERSION" = "7.1" -a -n "$(ls -A ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d)" ]; then
-          cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
-        fi
-        if [ "$TRAVIS_PHP_VERSION" = "7.2" -a -n "$(ls -A ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d)" ]; then
-          cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
-        fi
-        if [ "$TRAVIS_PHP_VERSION" = "7.3" -a -n "$(ls -A ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d)" ]; then
-          cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
-        fi
-    fi
+# @todo shall we configure php-fpm?
 
-    ~/.phpenv/versions/${PHPVER}/sbin/php-fpm
+service php-fpm start
 
-    # @todo configure apache for php-fpm via mod_proxy_fcgi...
-    a2enconf php${PHPVER}-fpm
-    service apache2 restart
-fi
+# configure apache
+a2enconf php${PHPVER}-fpm
+service apache2 restart
diff --git a/tests/ci/setup/setup_php_travis.sh b/tests/ci/setup/setup_php_travis.sh
new file mode 100644 (file)
index 0000000..35f1684
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+set -e
+
+configure_php_ini() {
+    # @todo make this idempotent so that it can be run multiple times in a row
+    echo "cgi.fix_pathinfo = 1" >> "${1}"
+    echo "always_populate_raw_post_data = -1" >> "${1}"
+
+    # @todo this only disables xdebug for CLI. To do the same for the FPM config as well, should we use instead `phpdismod` ?
+    XDEBUG_INI=$(php -i | grep xdebug.ini | grep -v '=>' | head -1)
+    if [ "$XDEBUG_INI" != "" ]; then
+        XDEBUG_INI="$(echo "$XDEBUG_INI" | tr -d ',')"
+        mv "$XDEBUG_INI" "$XDEBUG_INI.bak";
+    fi
+}
+
+PHPVER=$(phpenv version-name)
+
+configure_php_ini ~/.phpenv/versions/${PHPVER}/etc/php.ini
+
+# configure php-fpm
+cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.conf
+
+# work around travis issue #3385
+if [ -d ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d ]; then
+    if [ "$TRAVIS_PHP_VERSION" = "7.0" -a -n "$(ls -A ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d)" ]; then
+      cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
+    fi
+    if [ "$TRAVIS_PHP_VERSION" = "7.1" -a -n "$(ls -A ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d)" ]; then
+      cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
+    fi
+    if [ "$TRAVIS_PHP_VERSION" = "7.2" -a -n "$(ls -A ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d)" ]; then
+      cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
+    fi
+    if [ "$TRAVIS_PHP_VERSION" = "7.3" -a -n "$(ls -A ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d)" ]; then
+      cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
+    fi
+fi
+
+~/.phpenv/versions/${PHPVER}/sbin/php-fpm
+
+# @todo configure apache for php-fpm via mod_proxy_fcgi...
+sudo a2enconf php${PHPVER}-fpm
+sudo service apache2 restart