Improve support for hhvm on travis
authorgggeek <giunta.gaetano@gmail.com>
Sun, 15 Mar 2015 23:32:47 +0000 (23:32 +0000)
committergggeek <giunta.gaetano@gmail.com>
Sun, 15 Mar 2015 23:32:47 +0000 (23:32 +0000)
.travis.yml
.travis/apache_vhost_hhvm [new file with mode: 0644]

index b6b4cb5..6b46ce5 100644 (file)
@@ -22,16 +22,24 @@ before_script:
   # We set up an Apache instance inside the Travis VM and test it.
   # See: http://docs.travis-ci.com/user/languages/php/#Apache-%2B-PHP
 
-  # enable php-fpm
-  - sudo cp ~/.phpenv/versions/$(phpenv version-name)/etc/php-fpm.conf.default ~/.phpenv/versions/$(phpenv version-name)/etc/php-fpm.conf
+  # enable php-fpm/hhvm-fcgi
   - sudo a2enmod rewrite actions fastcgi alias
+  - if [ $TRAVIS_PHP_VERSION != "hhvm" ]; then sudo cp ~/.phpenv/versions/$(phpenv version-name)/etc/php-fpm.conf.default ~/.phpenv/versions/$(phpenv version-name)/etc/php-fpm.conf
   - echo "cgi.fix_pathinfo = 1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
-  - ~/.phpenv/versions/$(phpenv version-name)/sbin/php-fpm
+  - if [ $TRAVIS_PHP_VERSION != "hhvm" ]; then ~/.phpenv/versions/$(phpenv version-name)/sbin/php-fpm
+  - if [ $TRAVIS_PHP_VERSION = "hhvm" ]; then hhvm -m daemon -vServer.Type=fastcgi -vServer.Port=9000 -vServer.FixPathInfo=true
   # configure apache virtual hosts
-  - sudo cp -f .travis/apache_vhost /etc/apache2/sites-available/default
+  - if [ $TRAVIS_PHP_VERSION != "hhvm" ]; then sudo cp -f .travis/apache_vhost /etc/apache2/sites-available/default
+  - if [ $TRAVIS_PHP_VERSION = "hhvm" ]; then sudo cp -f .travis/apache_vhost_hhvm /etc/apache2/sites-available/default
   - sudo sed -e "s?%TRAVIS_BUILD_DIR%?$(pwd)?g" --in-place /etc/apache2/sites-available/default
 
   - sudo service apache2 restart
 
 script:
+  # to have code coverage: --coverage-clover=coverage.clover
   phpunit tests LOCALSERVER=localhost URI=/demo/server/server.php HTTPSSERVER=gggeek.ssl.altervista.org HTTPSURI=/sw/xmlrpc/demo/server/server.php NOPROXY=1
+
+#after_script:
+#  # upload code-coverage to Scrutinizer
+#  - wget https://scrutinizer-ci.com/ocular.phar
+#  - php ocular.phar code-coverage:upload --format=php-clover coverage.clover
diff --git a/.travis/apache_vhost_hhvm b/.travis/apache_vhost_hhvm
new file mode 100644 (file)
index 0000000..93436f6
--- /dev/null
@@ -0,0 +1,26 @@
+# Configuration file for Apache running on Travis.
+# HHVM setup in FCGI mode
+
+<VirtualHost *:80>
+
+  DocumentRoot %TRAVIS_BUILD_DIR%
+
+  <Directory "%TRAVIS_BUILD_DIR%">
+    Options FollowSymLinks MultiViews ExecCGI
+    AllowOverride All
+    Order deny,allow
+    Allow from all
+  </Directory>
+
+  # Configure Apache for HHVM FastCGI.
+  # See https://github.com/facebook/hhvm/wiki/fastcgi
+  <IfModule mod_fastcgi.c>
+    <FilesMatch \.php$>
+      SetHandler hhvm-php-extension
+    </FilesMatch>
+    Alias /hhvm /hhvm
+    Action hhvm-php-extension /hhvm virtual
+    FastCgiExternalServer /hhvm -host 127.0.0.1:9000 -pass-header Authorization -idle-timeout 300
+  </IfModule>
+
+</VirtualHost>
\ No newline at end of file