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: 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