nextcloud/.drone.yml

1101 lines
40 KiB
YAML

clone:
git:
image: plugins/git
depth: 1
pipeline:
jsunit:
image: nextcloudci/jsunit:jsunit-5
commands:
- ./autotest-js.sh
- curl -o codecov.sh https://codecov.io/bash
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5; fi"
when:
matrix:
TESTS: jsunit
vue-build-settings:
image: nextcloudci/node:node-4
commands:
- cd settings/
- find js/ -type f -iname 'vue-*' -delete
- npm install
- npm run build
- git status
- bash -c "[[ ! \"`git status --porcelain js/`\" ]] || ( echo 'Uncommited changes in vue build' && exit 1 )"
when:
matrix:
TESTS: vue-build-settings
vue-build-updatenotification:
image: node
commands:
- ./build/vue-builds.sh ./apps/updatenotification/js/updatenotification.js
when:
matrix:
TESTS: vue-build-updatenotification
vue-build-oauth2:
image: node
commands:
- ./build/vue-builds.sh ./apps/oauth2/js/oauth2.js
when:
matrix:
TESTS: vue-build-oauth2
vue-build-accessibility:
image: node
commands:
- ./build/vue-builds.sh ./apps/accessibility/js/accessibility.js
when:
matrix:
TESTS: vue-build-accessibility
vue-build-backupcodes:
image: node
commands:
- ./build/vue-builds.sh ./apps/twofactor_backupcodes/js/settings.js
when:
matrix:
TESTS: vue-build-backupscodes
checkers:
image: nextcloudci/php7.1:php7.1-16
commands:
- ./autotest-checkers.sh
secrets: [ github_token ]
when:
matrix:
TESTS: checkers
handlebars:
image: node
commands:
- npm install handlebars -g
- ./build/compile-handlebars-templates.sh
when:
matrix:
TESTS: handlebars
syntax-php7.1:
image: nextcloudci/php7.1:php7.1-16
commands:
- composer install
- ./lib/composer/bin/parallel-lint --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php .
when:
matrix:
TESTS: syntax-php7.1
syntax-php7.2:
image: nextcloudci/php7.2:php7.2-12
commands:
- composer install
- ./lib/composer/bin/parallel-lint --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php --exclude 3rdparty/doctrine/cache/lib/Doctrine/Common/Cache/RiakCache.php .
when:
matrix:
TESTS: syntax-php7.2
syntax-php7.3:
image: nextcloudci/php7.3:php7.3-1
commands:
- composer install
- ./lib/composer/bin/parallel-lint --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude 3rdparty/paragonie/random_compat/lib/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php --exclude 3rdparty/doctrine/cache/lib/Doctrine/Common/Cache/RiakCache.php .
when:
matrix:
TESTS: syntax-php7.3
phan:
image: nextcloudci/php7.2:php7.2-12
commands:
- composer install
- composer require --dev "phan/phan:0.11.1"
- ./lib/composer/phan/phan/phan -k build/.phan/config.php
- php ./build/.phan/plugin-checker.php
when:
matrix:
TESTS: phan
litmus-v1:
image: nextcloudci/litmus-php7.1:1
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/litmus-v1/script.sh
when:
matrix:
TESTS: litmus-v1
litmus-v2:
image: nextcloudci/litmus-php7.2:1
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/litmus-v2/script.sh
when:
matrix:
TESTS: litmus-v2
caldavtester-new-endpoint:
image: nextcloudci/litmus-php7.1:1
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/caldav/install.sh
- bash apps/dav/tests/travis/caldav/script-new-endpoint.sh
when:
matrix:
TESTS: caldavtester-new-endpoint
caldavtester-old-endpoint:
image: nextcloudci/litmus-php7.1:1
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/caldav/install.sh
- bash apps/dav/tests/travis/caldav/script-old-endpoint.sh
when:
matrix:
TESTS: caldavtester-old-endpoint
carddavtester-new-endpoint:
image: nextcloudci/litmus-php7.1:1
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/carddav/install.sh
- bash apps/dav/tests/travis/carddav/script-new-endpoint.sh
when:
matrix:
TESTS: carddavtester-new-endpoint
carddavtester-old-endpoint:
image: nextcloudci/litmus-php7.1:1
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/carddav/install.sh
- bash apps/dav/tests/travis/carddav/script-old-endpoint.sh
when:
matrix:
TESTS: carddavtester-old-endpoint
sqlite-php7.0-samba-native:
image: nextcloudci/samba-native-php7.1:1
commands:
- smbd -D -FS &
- ./autotest-external.sh sqlite smb-linux
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-smb-linux.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-smb-linux.xml; fi"
when:
matrix:
TESTS: sqlite-php7.1-samba-native
sqlite-php7.0-samba-non-native:
image: nextcloudci/samba-non-native-php7.1:1
commands:
- smbd -D -FS &
- ./autotest-external.sh sqlite smb-linux
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-smb-linux.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-smb-linux.xml; fi"
when:
matrix:
TESTS: sqlite-php7.1-samba-non-native
sqlite-php7.0-webdav-apache:
image: nextcloudci/webdav-apache-php7.1:1
commands:
- apache2
- ./autotest-external.sh sqlite webdav-apachedrone
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-webdav-apachedrone.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-webdav-apachedrone.xml; fi"
when:
matrix:
TESTS: sqlite-php7.1-webdav-apache
nodb-php7.1:
image: nextcloudci/php7.1:php7.1-16
commands:
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
when:
matrix:
DB: NODB
PHP: 7.1
nodb-php7.2:
image: nextcloudci/php7.2:php7.2-11
commands:
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
when:
matrix:
DB: NODB
PHP: 7.2
nodb-php7.3:
image: nextcloudci/php7.3:php7.3-1
commands:
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
when:
matrix:
DB: NODB
PHP: 7.3
sqlite-php7.1:
image: nextcloudci/php7.1:php7.1-16
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
when:
matrix:
DB: sqlite
PHP: 7.1
sqlite-php7.2:
image: nextcloudci/php7.2:php7.2-12
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
when:
matrix:
DB: sqlite
PHP: 7.2
sqlite-php7.3:
image: nextcloudci/php7.3:php7.3-1
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
when:
matrix:
DB: sqlite
PHP: 7.3
mysql-php7.1:
image: nextcloudci/php7.1:php7.1-16
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
when:
matrix:
DB: mysql
PHP: 7.1
mysql-php7.2:
image: nextcloudci/php7.2:php7.2-12
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
when:
matrix:
DB: mysql
PHP: 7.2
mysql-php7.3:
image: nextcloudci/php7.3:php7.3-1
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
when:
matrix:
DB: mysql
PHP: 7.3
mysql5.6-php7.1:
image: nextcloudci/php7.1:php7.1-16
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
when:
matrix:
DB: mysql5.6
PHP: 7.1
mysql5.5-php7.1:
image: nextcloudci/php7.1:php7.1-16
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
when:
matrix:
DB: mysql5.5
PHP: 7.1
postgres-php7.1:
image: nextcloudci/php7.1:php7.1-16
commands:
- sleep 10 # gives the database enough time to initialize
- POSTGRES=${POSTGRES} NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
when:
matrix:
DB: postgres
PHP: 7.1
mysqlmb4-php7.1:
image: nextcloudci/php7.1:php7.1-16
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
when:
matrix:
DB: mysqlmb4
PHP: 7.1
mysqlmb4-php7.2:
image: nextcloudci/php7.2:php7.2-12
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
when:
matrix:
DB: mysqlmb4
PHP: 7.2
mysqlmb4-php7.3:
image: nextcloudci/php7.3:php7.3-1
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
when:
matrix:
DB: mysqlmb4
PHP: 7.3
integration-capabilities_features:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh capabilities_features/capabilities.feature
when:
matrix:
TESTS: integration-capabilities_features
integration-federation_features:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh federation_features/federated.feature
when:
matrix:
TESTS: integration-federation_features
integration-auth:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/auth.feature
when:
matrix:
TESTS: integration-auth
integration-maintenance-mode:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/maintenance-mode.feature
when:
matrix:
TESTS: integration-maintenance-mode
integration-ratelimiting:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- ./occ config:system:set redis host --value=cache
- ./occ config:system:set redis port --value=6379 --type=integer
- ./occ config:system:set redis timeout --value=0 --type=integer
- ./occ config:system:set --type string --value "\\OC\\Memcache\\Redis" memcache.local
- ./occ config:system:set --type string --value "\\OC\\Memcache\\Redis" memcache.distributed
- ./occ app:enable testing
- cd build/integration
- ./run.sh features/ratelimiting.feature
when:
matrix:
TESTS: integration-ratelimiting
integration-carddav:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/carddav.feature
when:
matrix:
TESTS: integration-carddav
integration-dav-v2:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/dav-v2.feature
when:
matrix:
TESTS: integration-dav-v2
integration-ocs-v1:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/ocs-v1.feature
when:
matrix:
TESTS: integration-ocs-v1
integration-sharing-v1:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/sharing-v1.feature
when:
matrix:
TESTS: integration-sharing-v1
integration-sharing-v1-part2:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/sharing-v1-part2.feature
when:
matrix:
TESTS: integration-sharing-v1-part2
integration-sharing-v1-part3:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/sharing-v1-part3.feature
when:
matrix:
TESTS: integration-sharing-v1-part3
integration-checksums-v1:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/checksums.feature
when:
matrix:
TESTS: integration-checksums
integration-external-storage:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/external-storage.feature
when:
matrix:
TESTS: integration-external-storage
integration-provisioning-v1:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/provisioning-v1.feature
when:
matrix:
TESTS: integration-provisioning-v1
integration-tags:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/tags.feature
when:
matrix:
TESTS: integration-tags
integration-caldav:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/caldav.feature
when:
matrix:
TESTS: integration-caldav
integration-comments:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/comments.feature
when:
matrix:
TESTS: integration-comments
integration-comments-search:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/comments-search.feature
when:
matrix:
TESTS: integration-comments-search
integration-favorites:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/favorites.feature
when:
matrix:
TESTS: integration-favorites
integration-provisioning-v2:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/provisioning-v2.feature
when:
matrix:
TESTS: integration-provisioning-v2
integration-webdav-related:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/webdav-related.feature
when:
matrix:
TESTS: integration-webdav-related
integration-sharees-features:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh sharees_features/sharees.feature
when:
matrix:
TESTS: integration-sharees-features
integration-sharees-v2-features:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh sharees_features/sharees_provisioningapiv2.feature
when:
matrix:
TESTS: integration-sharees-v2-features
integration-setup-features:
image: nextcloudci/integration-php7.1:1
commands:
- cd build/integration
- ./run.sh setup_features/setup.feature
when:
matrix:
TESTS: integration-setup-features
integration-filesdrop-features:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh filesdrop_features/filesdrop.feature
when:
matrix:
TESTS: integration-filesdrop-features
integration-transfer-ownership-features:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/transfer-ownership.feature
when:
matrix:
TESTS: integration-transfer-ownership-features
integration-ldap-features:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- ./occ app:enable user_ldap
- cd build/integration
- ./run.sh ldap_features/ldap-ocs.feature
when:
matrix:
TESTS: integration-ldap-features
integration-ldap-openldap-features:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- ./occ config:system:set redis host --value=cache
- ./occ config:system:set redis port --value=6379 --type=integer
- ./occ config:system:set redis timeout --value=0 --type=integer
- ./occ config:system:set --type string --value "\\OC\\Memcache\\Redis" memcache.local
- ./occ config:system:set --type string --value "\\OC\\Memcache\\Redis" memcache.distributed
- ./occ app:enable user_ldap
- cd build/integration
- ./run.sh ldap_features/ldap-openldap.feature
when:
matrix:
TESTS: integration-ldap-openldap-features
integration-ldap-openldap-uid-features:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- ./occ config:system:set redis host --value=cache
- ./occ config:system:set redis port --value=6379 --type=integer
- ./occ config:system:set redis timeout --value=0 --type=integer
- ./occ config:system:set --type string --value "\\OC\\Memcache\\Redis" memcache.local
- ./occ config:system:set --type string --value "\\OC\\Memcache\\Redis" memcache.distributed
- ./occ app:enable user_ldap
- cd build/integration
- ./run.sh ldap_features/openldap-uid-username.feature
when:
matrix:
TESTS: integration-ldap-openldap-uid-features
integration-ldap-openldap-numerical-id-features:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- ./occ config:system:set redis host --value=cache
- ./occ config:system:set redis port --value=6379 --type=integer
- ./occ config:system:set redis timeout --value=0 --type=integer
- ./occ config:system:set --type string --value "\\OC\\Memcache\\Redis" memcache.local
- ./occ config:system:set --type string --value "\\OC\\Memcache\\Redis" memcache.distributed
- ./occ app:enable user_ldap
- cd build/integration
- ./run.sh ldap_features/openldap-numerical-id.feature
when:
matrix:
TESTS: integration-ldap-openldap-numerical-id-features
integration-trashbin:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh features/trashbin.feature
when:
matrix:
TESTS: integration-trashbin
integration-remote-api:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh remoteapi_features/remote.feature
when:
matrix:
TESTS: integration-remote-api
integration-download:
image: nextcloudci/integration-php7.1:1
commands:
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
- cd build/integration
- ./run.sh --tags ~@large features/download.feature
when:
matrix:
TESTS: integration-download
acceptance-access-levels:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-access-levels --selenium-server selenium:4444 allow-git-repository-modifications features/access-levels.feature
when:
matrix:
TESTS-ACCEPTANCE: access-levels
acceptance-app-comments:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-comments --selenium-server selenium:4444 allow-git-repository-modifications features/app-comments.feature
when:
matrix:
TESTS-ACCEPTANCE: app-comments
acceptance-app-files:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-files --selenium-server selenium:4444 allow-git-repository-modifications features/app-files.feature
when:
matrix:
TESTS-ACCEPTANCE: app-files
acceptance-app-files-sharing:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-files-sharing --selenium-server selenium:4444 allow-git-repository-modifications features/app-files-sharing.feature
when:
matrix:
TESTS-ACCEPTANCE: app-files-sharing
acceptance-app-files-sharing-link:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-files-sharing-link --selenium-server selenium:4444 allow-git-repository-modifications features/app-files-sharing-link.feature
when:
matrix:
TESTS-ACCEPTANCE: app-files-sharing-link
acceptance-app-files-tags:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-files-tags --selenium-server selenium:4444 allow-git-repository-modifications features/app-files-tags.feature
when:
matrix:
TESTS-ACCEPTANCE: app-files-tags
acceptance-app-theming:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-theming --selenium-server selenium:4444 allow-git-repository-modifications features/app-theming.feature
when:
matrix:
TESTS-ACCEPTANCE: app-theming
acceptance-header:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-header --selenium-server selenium:4444 allow-git-repository-modifications features/header.feature
when:
matrix:
TESTS-ACCEPTANCE: header
acceptance-login:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-login --selenium-server selenium:4444 allow-git-repository-modifications features/login.feature
when:
matrix:
TESTS-ACCEPTANCE: login
acceptance-users:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-users --selenium-server selenium:4444 allow-git-repository-modifications features/users.feature
when:
matrix:
TESTS-ACCEPTANCE: users
acceptance-apps:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-apps --selenium-server selenium:4444 allow-git-repository-modifications features/apps.feature
when:
matrix:
TESTS-ACCEPTANCE: apps
nodb-codecov:
image: nextcloudci/php7.1:php7.1-16
commands:
- phpenmod xdebug
- TEST_SELECTION=NODB ./autotest.sh sqlite
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
when:
matrix:
TESTS: nodb-codecov
db-codecov:
image: nextcloudci/php7.1:php7.1-16
commands:
- phpenmod xdebug
- TEST_SELECTION=QUICKDB ./autotest.sh sqlite
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
when:
matrix:
TESTS: db-codecov
object-store:
image: nextcloudci/php7.1:php7.1-16
commands:
- phpenmod xdebug
- ./tests/drone-wait-objectstore.sh
- TEST_SELECTION=PRIMARY-${OBJECT_STORE} ./autotest.sh sqlite
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
when:
matrix:
TESTS: object-store
memcache-memcached:
image: nextcloudci/php7.1-memcached:1
commands:
- phpenmod xdebug
- service memcached restart
- ./autotest.sh sqlite tests/lib/Memcache/MemcachedTest.php
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
when:
matrix:
TEST: memcache-memcached
memcache-redis-cluster:
image: nextcloudci/php7.1:php7.1-16
commands:
- phpenmod xdebug
- sleep 20
- ./autotest.sh sqlite tests/lib/Memcache/RedisTest.php
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
when:
matrix:
TEST: memcache-redis-cluster
ui-regression:
image: nextcloudci/ui-regression:ui-regression-1
commands:
- cd tests/ui-regression
- npm install
- chown -R pptruser out node_modules
- bash -c "until curl -s http://ui-regression-php-master > /dev/null && curl -s http://ui-regression-php > /dev/null; do sleep 2; done"
- sudo -u pptruser node runTests.js || true
- echo "The result can be found at https://s3.bitgrid.net/nextcloud-ui-regression/nextcloud/server/${DRONE_PULL_REQUEST}/index.html"
shm_size: '1gb'
when:
matrix:
TESTS: ui-regression
publish-s3:
image: plugins/s3
endpoint: https://ci-assets.nextcloud.com
bucket: nextcloud-ui-regression
path_style: true
source: tests/ui-regression/out/**/*
strip_prefix: tests/ui-regression/out/
acl: public-read
target: ${DRONE_REPO_OWNER}/${DRONE_REPO_NAME}/${DRONE_PULL_REQUEST}
secrets: [ aws_access_key_id, aws_secret_access_key ]
when:
matrix:
TESTS: ui-regression
matrix:
include:
- TESTS: checkers
- TESTS: vue-build-settings
- TESTS: vue-build-updatenotification
- TESTS: vue-build-oauth2
- TESTS: vue-build-accessibility
- TESTS: vue-build-backupcodes
- TESTS: handlebars
- TESTS: nodb-codecov
ENABLE_REDIS: true
- TESTS: db-codecov
ENABLE_REDIS: true
- DB: NODB
PHP: 7.1
ENABLE_REDIS: true
- DB: NODB
PHP: 7.2
ENABLE_REDIS: false
- DB: NODB
PHP: 7.3
ENABLE_REDIS: false
- DB: sqlite
PHP: 7.1
ENABLE_REDIS: true
- DB: sqlite
PHP: 7.2
ENABLE_REDIS: false
- DB: sqlite
PHP: 7.3
ENABLE_REDIS: false
- DB: mysql
PHP: 7.1
ENABLE_REDIS: true
- DB: mysql
PHP: 7.2
ENABLE_REDIS: false
- DB: mysql
PHP: 7.3
ENABLE_REDIS: false
- DB: mysql5.6
PHP: 7.1
ENABLE_REDIS: true
- DB: mysql5.5
PHP: 7.1
ENABLE_REDIS: true
- DB: postgres
PHP: 7.1
POSTGRES: 9
ENABLE_REDIS: true
- DB: postgres
PHP: 7.1
POSTGRES: 10
ENABLE_REDIS: true
- DB: mysqlmb4
PHP: 7.1
ENABLE_REDIS: true
- DB: mysqlmb4
PHP: 7.2
ENABLE_REDIS: false
- DB: mysqlmb4
PHP: 7.3
ENABLE_REDIS: false
- TESTS: integration-capabilities_features
- TESTS: integration-federation_features
- TESTS: integration-maintenance-mode
- TESTS: integration-ratelimiting
ENABLE_REDIS: true
- TESTS: integration-auth
- TESTS: integration-carddav
- TESTS: integration-dav-v2
- TESTS: integration-ocs-v1
- TESTS: integration-sharing-v1
- TESTS: integration-sharing-v1-part2
- TESTS: integration-sharing-v1-part3
- TESTS: integration-checksums
- TESTS: integration-external-storage
- TESTS: integration-provisioning-v1
- TESTS: integration-tags
- TESTS: integration-caldav
- TESTS: integration-comments
- TESTS: integration-comments-search
- TESTS: integration-favorites
- TESTS: integration-provisioning-v2
- TESTS: integration-webdav-related
- TESTS: integration-sharees-features
- TESTS: integration-sharees-v2-features
- TESTS: integration-setup-features
- TESTS: integration-filesdrop-features
- TESTS: integration-transfer-ownership-features
- TESTS: integration-ldap-features
- TESTS: integration-ldap-openldap-features
ENABLE_OPENLDAP: true
ENABLE_REDIS: true
- TESTS: integration-ldap-openldap-uid-features
ENABLE_OPENLDAP: true
ENABLE_REDIS: true
- TESTS: integration-ldap-openldap-numerical-id-features
ENABLE_OPENLDAP: true
ENABLE_REDIS: true
- TESTS: integration-trashbin
- TESTS: integration-remote-api
- TESTS: integration-download
- TESTS: acceptance
TESTS-ACCEPTANCE: access-levels
- TESTS: acceptance
TESTS-ACCEPTANCE: app-comments
- TESTS: acceptance
TESTS-ACCEPTANCE: app-files
- TESTS: acceptance
TESTS-ACCEPTANCE: app-files-sharing
- TESTS: acceptance
TESTS-ACCEPTANCE: app-files-sharing-link
- TESTS: acceptance
TESTS-ACCEPTANCE: app-files-tags
- TESTS: acceptance
TESTS-ACCEPTANCE: app-theming
- TESTS: acceptance
TESTS-ACCEPTANCE: header
- TESTS: acceptance
TESTS-ACCEPTANCE: login
- TESTS: acceptance
TESTS-ACCEPTANCE: users
- TESTS: acceptance
TESTS-ACCEPTANCE: apps
- TESTS: jsunit
- TESTS: syntax-php7.1
- TESTS: syntax-php7.2
- TESTS: syntax-php7.3
- TESTS: phan
- TESTS: litmus-v1
- TESTS: litmus-v2
- TESTS: caldavtester-old-endpoint
- TESTS: caldavtester-new-endpoint
- TESTS: carddavtester-new-endpoint
- TESTS: carddavtester-old-endpoint
- TESTS: object-store
OBJECT_STORE: s3
- TESTS: object-store
OBJECT_STORE: azure
# - TESTS: object-store
# OBJECT_STORE: swift
# SWIFT-AUTH: v2.0
# - TESTS: object-store
# OBJECT_STORE: swift
# SWIFT-AUTH: v3
- TESTS: sqlite-php7.1-samba-native
- TESTS: sqlite-php7.1-samba-non-native
- TEST: memcache-memcached
- TEST: memcache-redis-cluster
ENABLE_REDIS_CLUSTER: true
- TESTS: sqlite-php7.1-webdav-apache
ENABLE_REDIS: true
- TESTS: ui-regression
services:
cache:
image: redis
when:
matrix:
ENABLE_REDIS: true
ui-regression-php:
image: nextcloudci/server:server-1
commands:
- . /etc/apache2/envvars
- rm -fr /var/www/html
- mkdir /var/www/html && cp -rT . /var/www/html && chown -R www-data:www-data /var/www/html
- rm -fr /var/www/html/config/config.php /var/www/html/data/*
- apache2 -DFOREGROUND
when:
matrix:
TESTS: ui-regression
ui-regression-php-master:
image: nextcloudci/server:server-1
commands:
- . /etc/apache2/envvars
- rm -fr /var/www/html/config/config.php /var/www/html/data/*
- su www-data -c "cd /var/www/html/ && git checkout $DRONE_REPO_BRANCH && git pull && git submodule update"
- apache2 -DFOREGROUND
when:
matrix:
TESTS: ui-regression
cache-cluster:
image: morrisjobke/redis-cluster
when:
matrix:
ENABLE_REDIS_CLUSTER: true
postgres-9:
image: postgres:9
environment:
- POSTGRES_USER=oc_autotest
- POSTGRES_DB=oc_autotest_dummy
- POSTGRES_PASSWORD=owncloud
tmpfs:
- /var/lib/postgresql/data
when:
matrix:
DB: postgres
POSTGRES: 9
postgres-10:
image: postgres:10
environment:
- POSTGRES_USER=oc_autotest
- POSTGRES_DB=oc_autotest_dummy
- POSTGRES_PASSWORD=owncloud
tmpfs:
- /var/lib/postgresql/data
when:
matrix:
DB: postgres
POSTGRES: 10
mysql:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=owncloud
- MYSQL_USER=oc_autotest
- MYSQL_PASSWORD=owncloud
- MYSQL_DATABASE=oc_autotest
tmpfs:
- /var/lib/mysql
when:
matrix:
DB: mysql
mysql:
image: mysql:5.6
environment:
- MYSQL_ROOT_PASSWORD=owncloud
- MYSQL_USER=oc_autotest
- MYSQL_PASSWORD=owncloud
- MYSQL_DATABASE=oc_autotest
tmpfs:
- /var/lib/mysql
when:
matrix:
DB: mysql5.6
mysql:
image: mysql:5.5
environment:
- MYSQL_ROOT_PASSWORD=owncloud
- MYSQL_USER=oc_autotest
- MYSQL_PASSWORD=owncloud
- MYSQL_DATABASE=oc_autotest
tmpfs:
- /var/lib/mysql
when:
matrix:
DB: mysql5.5
mysqlmb4:
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" ]
tmpfs:
- /var/lib/mysql
when:
matrix:
DB: mysqlmb4
fake-s3:
image: lphoward/fake-s3
when:
matrix:
OBJECT_STORE: s3
azurite:
image: arafato/azurite
environment:
- executable=blob
when:
matrix:
OBJECT_STORE: azure
dockswift:
image: icewind1991/dockswift:nextcloud-ci
environment:
- IPADDRESS=dockswift
when:
matrix:
OBJECT_STORE: swift
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
openldap:
image: nextcloudci/openldap:openldap-5
environment:
- SLAPD_DOMAIN=nextcloud.ci
- SLAPD_ORGANIZATION=Nextcloud
- SLAPD_PASSWORD=admin
- SLAPD_ADDITIONAL_MODULES=memberof
when:
matrix:
ENABLE_OPENLDAP: true
branches: [ master, stable* ]