language: php
addons:
  apt:
    packages:
      - apache2
      - postfix
      - libapache2-mod-fastcgi
      - libappindicator1
      - fonts-liberation
  chrome: stable
services:
  - mysql
sudo: required
dist: trusty
cache:
  yarn: true
  directories:
    - $HOME/.composer/cache/files
php:
  - 7.1
  - 7.2
env:
  global:
    - VHOST_URL=localhost
    - CHAMILO_VERSION=master

before_install:
  # Repo for Yarn
  - sudo apt-key adv --fetch-keys http://dl.yarnpkg.com/debian/pubkey.gpg
  - echo "deb http://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
  - sudo apt-get update -qq
  - sudo apt-get install -y -qq yarn
  #- sudo apt-get update
  #- sudo apt-get install apache2 libapache2-mod-fastcgi
  # Fix travis error https://github.com/travis-ci/travis-ci/issues/8607
  - sudo rm -vf /etc/apt/sources.list.d/*riak*
  # Get Chrome
  #- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
  #- sudo apt-get update
  #- sudo apt-get install google-chrome-stable
  - google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 http://localhost &
  # Get Chrome driver
  - wget https://chromedriver.storage.googleapis.com/2.34/chromedriver_linux64.zip && unzip chromedriver_linux64.zip
  - sudo mv chromedriver /usr/bin
  - sudo chmod +x /usr/bin/chromedriver
  # Setup display for Selenium
  - sh -e /etc/init.d/xvfb start
  - export DISPLAY=:99.0
  - sleep 3
  # Get Selenium
  - wget http://selenium-release.storage.googleapis.com/3.1/selenium-server-standalone-3.1.0.jar
  # Check java
  - java -version
  - sudo apt-get install oracle-java8-installer
  - java -version
  #- java -jar selenium-server-standalone-3.7.1.jar -log selenium.log > /dev/null &
  - java -jar selenium-server-standalone-3.1.0.jar -log selenium.log  > /dev/null &
  - nohup bash -c "webdriver-manager start 2>&1 &"
  - sleep 10

  # Apache & php-fpm configuration
  - bash tests/travis/setup-php-fpm.sh
  - bash tests/travis/setup-apache.sh

  - mysqld --version
  - apache2 -v
  - php -v
  - sudo cat /etc/hosts
  - phpenv config-add tests/travis/php-config.ini

  # Install Chash, a database, and then install Chamilo
  - git clone https://github.com/chamilo/chash
  - cd chash
  - composer update
  - php -d phar.readonly=0 createPhar.php
  - chmod +x chash.phar
  - sudo mv chash.phar /usr/local/bin/chash
  # Download chamilo
  - php -d date.timezone="Europe/Paris" chash.php chash:chamilo_install $CHAMILO_VERSION $TRAVIS_BUILD_DIR --download-package --no-interaction --only-download-package
  - cd $TRAVIS_BUILD_DIR
  - pwd
  # Install vendors
  - composer update
  - yarn install
  - ./node_modules/.bin/encore dev
  # Install chamilo
  - 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"
  - sudo chmod -R 777 var/cache var/log app/courses app/upload
  # Check chamilo status
  - php -d date.timezone="Europe/Paris" $TRAVIS_BUILD_DIR/chash/chash.php chash:chamilo_status
  # Permissions
  - sudo chown -R www-data:www-data $TRAVIS_BUILD_DIR
  - sudo chown -R 775 $TRAVIS_BUILD_DIR
  - sudo chmod +x /home/travis/build
  - sudo service apache2 restart
  - curl $VHOST_URL

script:
  - whereis google-chrome-stable
  - whereis chromedriver
  - cd tests/behat
  - pwd
  - travis_wait 45 ../../vendor/behat/behat/bin/behat -v
  # - sudo cat /var/log/apache2/$VHOST_URL-error.log
  # - sudo cat /var/log/apache2/$VHOST_URL-access.log
# configure notifications (email, IRC, campfire etc)
notifications:
  slack:
    rooms:
      secure: wlaaOwNt58ENjx2PEciISr4VBRWXp6YfI8TAZgvhDO1H0XpLByRYyktgm/+h6NQWvTEcPGBSFcsIA6K0N8FA52/fdDQFxbe0en+b4q7AGNLdjTRdszfZ4AbIdRngSBFKRmXC5IX0dEx/nGWYp5fRs26QPvgBadpj8M11BnL7qhg=