.travis.yml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. language: php
  2. addons:
  3. apt:
  4. packages:
  5. - apache2
  6. - postfix
  7. - libapache2-mod-fastcgi
  8. - libappindicator1
  9. - fonts-liberation
  10. services:
  11. - mysql
  12. sudo: required
  13. dist: trusty
  14. php:
  15. #- 5.4 // Removed because of Chash dependencies on PHP 5.5
  16. - 5.5
  17. - 5.6
  18. - 7.0
  19. env:
  20. global:
  21. - VHOST_URL=localhost
  22. - CHAMILO_VERSION=1.11.x
  23. before_install:
  24. # Get Chrome
  25. - wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
  26. - sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
  27. - sudo apt-get update
  28. - sudo apt-get install google-chrome-stable
  29. # Get Chrome driver
  30. - wget https://chromedriver.storage.googleapis.com/2.27/chromedriver_linux64.zip && unzip chromedriver_linux64.zip && sudo mv chromedriver /usr/bin
  31. # Setup display for Selenium
  32. - sh -e /etc/init.d/xvfb start
  33. - export DISPLAY=:99.0
  34. # Get Selenium
  35. - wget http://selenium-release.storage.googleapis.com/3.1/selenium-server-standalone-3.1.0.jar
  36. # Check java
  37. - java -version
  38. - sudo apt-get install oracle-java8-installer
  39. - java -version
  40. - java -jar selenium-server-standalone-3.1.0.jar -log selenium.log > /dev/null &
  41. - nohup bash -c "webdriver-manager start 2>&1 &"
  42. - sleep 10
  43. # Apache & php-fpm configuration
  44. - bash tests/travis/setup-php-fpm.sh
  45. - bash tests/travis/setup-apache.sh
  46. - mysqld --version
  47. - apache2 -v
  48. - php -v
  49. - sudo cat /etc/hosts
  50. - composer update
  51. - phpenv config-add tests/travis/php-config.ini
  52. # Install Chash, a database, and then install Chamilo
  53. - git clone https://github.com/chamilo/chash
  54. - cd chash
  55. - composer update
  56. - php -d phar.readonly=0 createPhar.php
  57. - chmod +x chash.phar
  58. - sudo mv chash.phar /usr/local/bin/chash
  59. # Download chamilo
  60. - php -d date.timezone="Europe/Paris" chash.php chash:chamilo_install $CHAMILO_VERSION $TRAVIS_BUILD_DIR --download-package --no-interaction --only-download-package
  61. - cd $TRAVIS_BUILD_DIR
  62. - pwd
  63. # Install vendors
  64. - composer update
  65. # Install chamilo
  66. - php -d date.timezone="Europe/Paris" $TRAVIS_BUILD_DIR/chash/chash.php chash:chamilo_install $CHAMILO_VERSION $TRAVIS_BUILD_DIR --no-interaction --sitename="Chamilo" --site_url="http://$VHOST_URL/" --institution="Chamilo" --institution_url="https://chamilo.org" --encrypt_method="sha1" --firstname="John" --lastname="Doe" --language="english" --driver="pdo_mysql" --host="localhost" --port="3306" --dbname="chamilo" --dbuser="root" --permissions_for_new_directories="0777" --permissions_for_new_files="0666" --linux-user="www-data" --linux-group="www-data" --username="admin" --password="admin" --email="admin@example.com" --phone="555-5555"
  67. - sudo chmod -R 777 app/cache app/logs app/courses app/upload
  68. # Check chamilo status
  69. - php -d date.timezone="Europe/Paris" $TRAVIS_BUILD_DIR/chash/chash.php chash:chamilo_status
  70. - ls -la
  71. - ls -la /var/www
  72. # Permissions
  73. - sudo chown -R www-data:www-data $TRAVIS_BUILD_DIR
  74. - sudo chown -R 775 $TRAVIS_BUILD_DIR
  75. - sudo chmod +x /home/travis/build
  76. - sudo service apache2 restart
  77. - curl $VHOST_URL
  78. script:
  79. - cd tests/behat
  80. - travis_wait 45 ../../vendor/behat/behat/bin/behat -v
  81. #- sudo cat /var/log/apache2/$VHOST_URL-error.log
  82. #- sudo cat /var/log/apache2/$VHOST_URL-access.log
  83. # configure notifications (email, IRC, campfire etc)
  84. notifications:
  85. # IRC notifications - disabled for creating a lot of noise on the channel
  86. irc: "irc.freenode.org#chamilodev"