pipeline:
  signed-off-check:
    image: nextcloudci/php7.0:php7.0-2
    environment:
    - APP_NAME=circles
    - CORE_BRANCH=master
    - DB=sqlite
    commands:
      - wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
      - bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
      - cd ../server
      - php ./build/signed-off-checker.php
    secrets: [ github_token ]
    when:
      matrix:
        TESTS: signed-off-check

  phpunit-sqlite-php7.0:
    image: nextcloudci/php7.0:php7.0-2
    environment:
    - APP_NAME=circles
    - CORE_BRANCH=master
    - DB=sqlite
    commands:
    - wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
    - bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
    - cd ../server/
    - ./occ app:enable $APP_NAME
    - cd apps/$APP_NAME/tests/

    # phpunit
    - phpunit --configuration phpunit.xml

    # codecov
    - wget https://codecov.io/bash -O codecov.sh
    - sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t ff710fa8-260c-4a61-bdd3-0771d6aea5b5; fi"
    - sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t ff710fa8-260c-4a61-bdd3-0771d6aea5b5; fi"
    when:
      matrix:
        TESTS: phpunit-sqlite-php7.0

  phpunit-sqlite-php5.6:
    image: nextcloudci/php5.6:php5.6-3
    environment:
      - APP_NAME=circles
      - CORE_BRANCH=master
      - DB=sqlite
    commands:
      # Pre-setup steps
      - apt update && apt-get -y install php5-xdebug
      - wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
      - bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
      - cd ../server
      - ./occ app:enable $APP_NAME
      - cd apps/$APP_NAME/tests/

      # phpunit
      - phpunit --configuration phpunit.xml
    when:
      matrix:
        TESTS: phpunit-sqlite-php5.6

  sqlite-php7.1:
    image: nextcloudci/php7.1:php7.1-11
    environment:
      - APP_NAME=circles
      - CORE_BRANCH=master
      - DB=sqlite
    commands:
      # Pre-setup steps
      - yum -y install wget
      - wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
      - bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
      - cd ../server
      - ./occ app:enable $APP_NAME
      - cd apps/$APP_NAME/tests/

      # phpunit
      - phpunit --configuration phpunit.xml
    when:
      matrix:
        DB: sqlite
        PHP: 7.1

services:
  cache:
    image: redis
  postgres:
    image: postgres
    environment:
      - POSTGRES_USER=oc_autotest
      - POSTGRES_PASSWORD=oc_autotest
    when:
      matrix:
        DB: pgsql
  mysql:
    image: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=owncloud
      - MYSQL_USER=oc_autotest
      - MYSQL_PASSWORD=owncloud
      - MYSQL_DATABASE=oc_autotest
    when:
      matrix:
        DB: mysql
  mysqlmb4:
    image: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=owncloud
      - MYSQL_USER=oc_autotest
      - MYSQL_PASSWORD=owncloud
      - MYSQL_DATABASE=oc_autotest
    command: [ "--innodb_large_prefix=true", "--innodb_file_format=barracuda", "--innodb_file_per_table=true" ]
    when:
      matrix:
        DB: mysqlmb4

matrix:
  include:
    - TESTS: signed-off-check
    - TESTS: phpunit-sqlite-php7.0
    - TESTS: phpunit-sqlite-php5.6

#    - TESTS: mysql-php7.0
#    - TESTS: sqlite-php7.1
#    - TESTS: mysql-php7.1
#    - TESTS: sqlite-php5.6
    - DB: sqlite
      PHP: 7.1
#    - TESTS: mysql-php5.6

