kind: pipeline
name: compatibility
steps:
  - name: compatibility
    image: nextcloudci/php7.0:php7.0-17
    environment:
      APP_NAME: social
      CORE_BRANCH: stable15
      DB: sqlite
    commands:
      - composer install
      - bash ./tests/drone-server-setup.sh $APP_NAME $CORE_BRANCH $DB
      - cd ../server
      - ./occ app:check-code $APP_NAME -c strong-comparison
      - ./occ app:check-code $APP_NAME -c deprecation
trigger:
  branch:
    - master
  event:
    - pull_request
    - push
---
kind: pipeline
name: syntax
steps:
  - name: syntax-php7.0
    image: nextcloudci/php7.0:php7.0-17
    commands:
      - composer install
      - ./vendor/bin/parallel-lint --exclude ./vendor/ .
  - name: syntax-php7.1
    image: nextcloudci/php7.1:php7.1-15
    commands:
      - composer install
      - ./vendor/bin/parallel-lint --exclude ./vendor/ .
  - name: syntax-php7.2
    image: nextcloudci/php7.2:php7.2-9
    commands:
      - composer install
      - ./vendor/bin/parallel-lint --exclude ./vendor/ .
  - name: syntax-php7.3
    image: nextcloudci/php7.3:php7.3-2
    commands:
      - composer install
      - ./vendor/bin/parallel-lint --exclude ./vendor/ .
trigger:
  branch:
    - master
  event:
    - pull_request
    - push
---
kind: pipeline
name: php7.1-sqlite
steps:
- name: php7.1
  image: nextcloudci/php7.1:php7.1-16
  environment:
    APP_NAME: social
    CORE_BRANCH: stable15
    DB: sqlite
  commands:
    - bash ./tests/drone-server-setup.sh $APP_NAME $CORE_BRANCH $DB
    - cd ../server/apps/$APP_NAME
    - composer install
    - phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
trigger:
  branch:
    - master
  event:
    - pull_request
    - push
---
kind: pipeline
name: php7.1-mysql
steps:
- name: php7.1
  image: nextcloudci/php7.1:php7.1-16
  environment:
    APP_NAME: social
    CORE_BRANCH: stable15
    DB: mysql
  commands:
    - bash ./tests/drone-server-setup.sh $APP_NAME $CORE_BRANCH $DB
    - cd ../server/apps/$APP_NAME
    - composer install
    - phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
services:
- name: mysql
  image: mysql:5.7.22
  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" ]
trigger:
  branch:
    - master
  event:
    - pull_request
    - push
---
kind: pipeline
name: php7.1-postgres
steps:
- name: php7.1
  image: nextcloudci/php7.1:php7.1-16
  environment:
    APP_NAME: social
    CORE_BRANCH: stable15
    DB: postgres
  commands:
    - bash ./tests/drone-server-setup.sh $APP_NAME $CORE_BRANCH $DB
    - cd ../server/apps/$APP_NAME
    - composer install
    - phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
services:
- name: postgres
  image: postgres:10
  environment:
    POSTGRES_USER: oc_autotest
    POSTGRES_DB: oc_autotest_dummy
    POSTGRES_PASSWORD: owncloud
trigger:
  branch:
    - master
  event:
    - pull_request
    - push
---
kind: pipeline
name: frontend
steps:
- name: eslint
  image: node:lts-alpine
  commands:
    - npm install
    - npm run lint
- name: vue-build
  image: node:lts-alpine
  commands:
    - npm install
    - npm run build
trigger:
  branch:
    - master
  event:
    - pull_request
    - push
