spreed/.drone.yml

237 строки
6.6 KiB
YAML

pipeline:
eslint:
image: nextcloudci/eslint:eslint-1
commands:
- ./run-eslint.sh
when:
matrix:
TESTS: eslint
stylelint:
image: nextcloudci/stylelint:stylelint-1
commands:
- ./run-stylelint.sh
when:
matrix:
TESTS: stylelint
check-app-compatbility:
image: nextcloudci/php7.0:php7.0-2
environment:
- APP_NAME=spreed
- CORE_BRANCH=master
- DB=sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server
# Code checker
- ./occ app:check-code $APP_NAME
- cd apps/$APP_NAME/
when:
matrix:
TESTS: check-app-compatbility
syntax-php7.0:
image: nextcloudci/php7.0:php7.0-2
environment:
- APP_NAME=spreed
- CORE_BRANCH=master
- DB=sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server
- composer install
- ./lib/composer/bin/parallel-lint apps/$APP_NAME/
when:
matrix:
TESTS: syntax-php7.0
signed-off-check:
image: nextcloudci/php7.0:php7.0-2
environment:
- APP_NAME=spreed
- CORE_BRANCH=master
- DB=sqlite
commands:
# Pre-setup steps
- 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
php7.0:
image: nextcloudci/php7.0:php7.0-2
environment:
- APP_NAME=spreed
- CORE_BRANCH=master
- DB=sqlite
commands:
# Pre-setup steps
- 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
# Run phpunit tests
- cd tests/php/
- phpunit --configuration phpunit.xml
when:
matrix:
TESTS: php7.0
php7.1:
image: nextcloudci/php7.1:php7.1-15
environment:
- APP_NAME=spreed
- CORE_BRANCH=master
- DB=sqlite
commands:
# Pre-setup steps
- 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
# Run phpunit tests
- cd tests/php/
- phpunit --configuration phpunit.xml
when:
matrix:
TESTS: php7.1
php7.2:
image: nextcloudci/php7.2:php7.2-9
environment:
- APP_NAME=spreed
- CORE_BRANCH=master
- DB=sqlite
commands:
# Pre-setup steps
- 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
# Run phpunit tests
- cd tests/php/
- phpunit --configuration phpunit.xml
when:
matrix:
TESTS: php7.2
php7.1-integration:
image: nextcloudci/php7.1:php7.1-15
environment:
- APP_NAME=spreed
- CORE_BRANCH=master
commands:
# Pre-setup steps
- 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
# Run integration tests
- cd tests/integration/
- bash run.sh
when:
matrix:
TESTS: php7.1-integration
jsunit:
image: nextcloudci/jsunit:jsunit-5
commands:
- unset PHANTOMJS_BIN
- npm install
- node_modules/karma/bin/karma start --single-run
when:
matrix:
TESTS: jsunit
acceptance-chat:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
# Pre-setup steps
- git clone --depth 1 -b master https://github.com/nextcloud/server ../server
- cp -R . ../server/apps/spreed
- cd ../server
- git submodule update --init
- ln --symbolic `pwd` /var/www/html
# Run acceptance tests
- tests/acceptance/run-local.sh --acceptance-tests-dir apps/spreed/tests/acceptance --timeout-multiplier 10 --nextcloud-server-domain acceptance-chat --selenium-server selenium:4444 allow-git-repository-modifications features/chat.feature
when:
matrix:
TESTS-ACCEPTANCE: chat
acceptance-conversation:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
# Pre-setup steps
- git clone --depth 1 -b master https://github.com/nextcloud/server ../server
- cp -R . ../server/apps/spreed
- cd ../server
- git submodule update --init
- ln --symbolic `pwd` /var/www/html
# Run acceptance tests
- tests/acceptance/run-local.sh --acceptance-tests-dir apps/spreed/tests/acceptance --timeout-multiplier 10 --nextcloud-server-domain acceptance-conversation --selenium-server selenium:4444 allow-git-repository-modifications features/conversation.feature
when:
matrix:
TESTS-ACCEPTANCE: conversation
matrix:
include:
- TESTS: eslint
- TESTS: stylelint
- TESTS: check-app-compatbility
- TESTS: syntax-php7.0
- TESTS: signed-off-check
- TESTS: php7.0
- TESTS: php7.1
- TESTS: php7.2
- TESTS: php7.1-integration
DB: sqlite
- TESTS: php7.1-integration
DB: mysql
DATABASEHOST: mysql-5.7
- TESTS: php7.1-integration
DB: pgsql
DATABASEHOST: postgres-10
- TESTS: jsunit
- TESTS: acceptance
TESTS-ACCEPTANCE: chat
- TESTS: acceptance
TESTS-ACCEPTANCE: conversation
services:
mysql-5.7:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=owncloud
- MYSQL_USER=oc_autotest
- MYSQL_PASSWORD=owncloud
- MYSQL_DATABASE=oc_autotest
when:
matrix:
DATABASEHOST: mysql-5.7
postgres-10:
image: postgres:10
environment:
- POSTGRES_USER=oc_autotest
- POSTGRES_PASSWORD=
when:
matrix:
DATABASEHOST: postgres-10
selenium:
image: selenium/standalone-firefox:2.53.1-beryllium
environment:
# Reduce default log level for Selenium server (INFO) as it is too
# verbose.
- JAVA_OPTS=-Dselenium.LOGGER.level=WARNING
when:
matrix:
TESTS: acceptance