spreed/.drone.yml

305 строки
8.2 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.3:php7.3-1
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
handlebars:
image: node
commands:
- npm install -g handlebars
- ./check-handlebars-templates.sh
when:
matrix:
TESTS: handlebars
syntax-php7.1:
image: nextcloudci/php7.1:php7.1-16
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.1
syntax-php7.3:
image: nextcloudci/php7.3:php7.3-1
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.3
signed-off-check:
image: nextcloudci/php7.3:php7.3-1
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.1:
image: nextcloudci/php7.1:php7.1-16
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-12
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.3:
image: nextcloudci/php7.3:php7.3-1
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.3
php7.1-integration:
image: nextcloudci/php7.1:php7.1-16
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 $TESTS_INTEGRATION
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:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
environment:
- APP_NAME=spreed
- CORE_BRANCH=master
commands:
# Pre-setup steps
- git clone --depth 1 -b $CORE_BRANCH https://github.com/nextcloud/server ../server
- cp -R . ../server/apps/$APP_NAME
- 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 --selenium-server selenium:4444 allow-git-repository-modifications features/$TESTS_ACCEPTANCE.feature
when:
matrix:
TESTS: acceptance
matrix:
include:
# Checks
- TESTS: eslint
- TESTS: stylelint
- TESTS: check-app-compatbility
- TESTS: handlebars
- TESTS: syntax-php7.1
- TESTS: syntax-php7.3
- TESTS: signed-off-check
# Unit tests
- TESTS: php7.1
- TESTS: php7.2
- TESTS: php7.3
- TESTS: jsunit
# Integration tests sqlite
- TESTS: php7.1-integration
TESTS_INTEGRATION: features/callapi
DB: sqlite
- TESTS: php7.1-integration
TESTS_INTEGRATION: features/chat
DB: sqlite
- TESTS: php7.1-integration
TESTS_INTEGRATION: features/conversation
DB: sqlite
- TESTS: php7.1-integration
TESTS_INTEGRATION: features/sharing
DB: sqlite
# Integration tests MySQL 5.7
- TESTS: php7.1-integration
TESTS_INTEGRATION: features/callapi
DB: mysql
DATABASEHOST: mysql-5.7
- TESTS: php7.1-integration
TESTS_INTEGRATION: features/chat
DB: mysql
DATABASEHOST: mysql-5.7
- TESTS: php7.1-integration
TESTS_INTEGRATION: features/conversation
DB: mysql
DATABASEHOST: mysql-5.7
- TESTS: php7.1-integration
TESTS_INTEGRATION: features/sharing
DB: mysql
DATABASEHOST: mysql-5.7
# Integration tests Postgres 10
- TESTS: php7.1-integration
TESTS_INTEGRATION: features/callapi
DB: pgsql
DATABASEHOST: postgres-10
- TESTS: php7.1-integration
TESTS_INTEGRATION: features/chat
DB: pgsql
DATABASEHOST: postgres-10
- TESTS: php7.1-integration
TESTS_INTEGRATION: features/conversation
DB: pgsql
DATABASEHOST: postgres-10
- TESTS: php7.1-integration
TESTS_INTEGRATION: features/sharing
DB: pgsql
DATABASEHOST: postgres-10
# Acceptance tests
- TESTS: acceptance
TESTS_ACCEPTANCE: app-files
- TESTS: acceptance
TESTS_ACCEPTANCE: chat
- TESTS: acceptance
TESTS_ACCEPTANCE: conversation
- TESTS: acceptance
TESTS_ACCEPTANCE: public-share-auth
- TESTS: acceptance
TESTS_ACCEPTANCE: room-shares
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_DB=oc_autotest_dummy
- 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