spreed/.drone.yml

303 строки
8.2 KiB
YAML
Исходник Обычный вид История

pipeline:
eslint:
image: nextcloudci/eslint:eslint-1
commands:
- ./run-eslint.sh
2016-10-17 12:35:30 +03:00
when:
matrix:
TESTS: eslint
stylelint:
image: nextcloudci/stylelint:stylelint-1
commands:
- ./run-stylelint.sh
2016-10-17 12:35:30 +03:00
when:
matrix:
TESTS: stylelint
check-app-compatbility:
image: nextcloudci/php7.3:php7.3-1
2016-10-17 12:35:30 +03:00
environment:
- APP_NAME=spreed
- CORE_BRANCH=master
2016-10-17 12:35:30 +03:00
- 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
2016-10-17 12:38:17 +03:00
- ./occ app:check-code $APP_NAME
2016-10-17 12:35:30 +03:00
- 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
2016-10-17 12:35:30 +03:00
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: 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
Fix integration tests with Docker image for PostgreSQL 10.5 The `postgres:10` tag is not fixed, but updated every time a new `postgres:10.X` image is released. Thus, the integration tests run in Drone always use the latest Docker image for PostgreSQL 10. The parameters used for the Docker container of PostgreSQL relied on a bug in both the Nextcloud installer and in the Docker image for PostgreSQL; the bug in the image was fixed in "postgres:10.5", so the tests started to fail due to not being able to install Nextcloud. The database user created in the image did not have "create role" privileges, so that user was the one used by the Nextcloud installer. After the fix it does, so the Nextcloud installer creates and uses a new user instead. However, if an existing database name is given to the installer the installer does not grant privileges to that new user on the existing database. By default the container creates a new database with the same name as the database user ("oc_autotest"), and that database was passed to the installer. Thus, as the new user was not granted privileges on the existing database it could not connect to it and the installation failed. Now the container creates a dummy database with a different name to the one passed to the installer, so now the "oc_autotest" database is created by the installer and the new user is made owner of that new database. Note that this fix is backwards compatible with PostgreSQL images prior to the fix, so no special handling is needed in `run-docker.sh` when older images are used. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-21 15:48:11 +03:00
- 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