You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

.drone.yml 32KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903
  1. clone:
  2. git:
  3. image: plugins/git
  4. depth: 1
  5. pipeline:
  6. jsunit:
  7. image: nextcloudci/jsunit:jsunit-5
  8. commands:
  9. - ./autotest-js.sh
  10. - curl -o codecov.sh https://codecov.io/bash
  11. - 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"
  12. - 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"
  13. when:
  14. matrix:
  15. TESTS: jsunit
  16. checkers:
  17. image: nextcloudci/php7.0:php7.0-19
  18. commands:
  19. - ./autotest-checkers.sh
  20. secrets: [ github_token ]
  21. when:
  22. matrix:
  23. TESTS: checkers
  24. syntax-php7.0:
  25. image: nextcloudci/php7.0:php7.0-19
  26. commands:
  27. - composer install
  28. - ./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 .
  29. when:
  30. matrix:
  31. TESTS: syntax-php7.0
  32. syntax-php7.1:
  33. image: nextcloudci/php7.1:php7.1-16
  34. commands:
  35. - composer install
  36. - ./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 .
  37. when:
  38. matrix:
  39. TESTS: syntax-php7.1
  40. phan:
  41. image: nextcloudci/php7.2:php7.2-11
  42. commands:
  43. - composer install
  44. - composer require --dev "phan/phan:0.11.1"
  45. - ./lib/composer/phan/phan/phan -k build/.phan/config.php
  46. - php ./build/.phan/plugin-checker.php
  47. when:
  48. matrix:
  49. TESTS: phan
  50. litmus-v1:
  51. image: nextcloudci/litmus-php7.0:litmus-php7.0-6
  52. commands:
  53. - bash tests/travis/install.sh sqlite
  54. - bash apps/dav/tests/travis/litmus-v1/script.sh
  55. when:
  56. matrix:
  57. TESTS: litmus-v1
  58. litmus-v2:
  59. image: nextcloudci/litmus-php7.0:litmus-php7.0-6
  60. commands:
  61. - bash tests/travis/install.sh sqlite
  62. - bash apps/dav/tests/travis/litmus-v2/script.sh
  63. when:
  64. matrix:
  65. TESTS: litmus-v2
  66. caldavtester-new-endpoint:
  67. image: nextcloudci/litmus-php7.0:litmus-php7.0-6
  68. commands:
  69. - bash tests/travis/install.sh sqlite
  70. - bash apps/dav/tests/travis/caldav/install.sh
  71. - bash apps/dav/tests/travis/caldav/script-new-endpoint.sh
  72. when:
  73. matrix:
  74. TESTS: caldavtester-new-endpoint
  75. caldavtester-old-endpoint:
  76. image: nextcloudci/litmus-php7.0:litmus-php7.0-6
  77. commands:
  78. - bash tests/travis/install.sh sqlite
  79. - bash apps/dav/tests/travis/caldav/install.sh
  80. - bash apps/dav/tests/travis/caldav/script-old-endpoint.sh
  81. when:
  82. matrix:
  83. TESTS: caldavtester-old-endpoint
  84. carddavtester-new-endpoint:
  85. image: nextcloudci/litmus-php7.0:litmus-php7.0-6
  86. commands:
  87. - bash tests/travis/install.sh sqlite
  88. - bash apps/dav/tests/travis/carddav/install.sh
  89. - bash apps/dav/tests/travis/carddav/script-new-endpoint.sh
  90. when:
  91. matrix:
  92. TESTS: carddavtester-new-endpoint
  93. carddavtester-old-endpoint:
  94. image: nextcloudci/litmus-php7.0:litmus-php7.0-6
  95. commands:
  96. - bash tests/travis/install.sh sqlite
  97. - bash apps/dav/tests/travis/carddav/install.sh
  98. - bash apps/dav/tests/travis/carddav/script-old-endpoint.sh
  99. when:
  100. matrix:
  101. TESTS: carddavtester-old-endpoint
  102. sqlite-php7.0-samba-native:
  103. image: nextcloudci/samba-native-php7.0:samba-native-php7.0-3
  104. commands:
  105. - smbd -D -FS &
  106. - ./autotest-external.sh sqlite smb-linux
  107. - wget https://codecov.io/bash -O codecov.sh
  108. - 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"
  109. - 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"
  110. - 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"
  111. - 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"
  112. when:
  113. matrix:
  114. TESTS: sqlite-php7.0-samba-native
  115. sqlite-php7.0-samba-non-native:
  116. image: nextcloudci/samba-non-native-php7.0:samba-non-native-php7.0-4
  117. commands:
  118. - smbd -D -FS &
  119. - ./autotest-external.sh sqlite smb-linux
  120. - wget https://codecov.io/bash -O codecov.sh
  121. - 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"
  122. - 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"
  123. - 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"
  124. - 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"
  125. when:
  126. matrix:
  127. TESTS: sqlite-php7.0-samba-non-native
  128. sqlite-php7.0-webdav-apache:
  129. image: nextcloudci/webdav-apache-php7.0
  130. commands:
  131. - apache2
  132. - ./autotest-external.sh sqlite webdav-apachedrone
  133. - wget https://codecov.io/bash -O codecov.sh
  134. - 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"
  135. - 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"
  136. - 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"
  137. - 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"
  138. when:
  139. matrix:
  140. TESTS: sqlite-php7.0-webdav-apache
  141. nodb-php7.0:
  142. image: nextcloudci/php7.0:php7.0-19
  143. commands:
  144. - NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
  145. when:
  146. matrix:
  147. DB: NODB
  148. PHP: "7.0"
  149. nodb-php7.1:
  150. image: nextcloudci/php7.1:php7.1-16
  151. commands:
  152. - NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
  153. when:
  154. matrix:
  155. DB: NODB
  156. PHP: 7.1
  157. nodb-php7.2:
  158. image: nextcloudci/php7.2:php7.2-11
  159. commands:
  160. - NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
  161. when:
  162. matrix:
  163. DB: NODB
  164. PHP: 7.2
  165. sqlite-php7.0:
  166. image: nextcloudci/php7.0:php7.0-19
  167. commands:
  168. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
  169. when:
  170. matrix:
  171. DB: sqlite
  172. PHP: "7.0"
  173. sqlite-php7.1:
  174. image: nextcloudci/php7.1:php7.1-16
  175. commands:
  176. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
  177. when:
  178. matrix:
  179. DB: sqlite
  180. PHP: 7.1
  181. sqlite-php7.2:
  182. image: nextcloudci/php7.2:php7.2-11
  183. commands:
  184. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
  185. when:
  186. matrix:
  187. DB: sqlite
  188. PHP: 7.2
  189. mysql-php7.0:
  190. image: nextcloudci/php7.0:php7.0-19
  191. commands:
  192. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
  193. when:
  194. matrix:
  195. DB: mysql
  196. PHP: "7.0"
  197. mysql-php7.1:
  198. image: nextcloudci/php7.1:php7.1-16
  199. commands:
  200. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
  201. when:
  202. matrix:
  203. DB: mysql
  204. PHP: 7.1
  205. mysql-php7.2:
  206. image: nextcloudci/php7.2:php7.2-11
  207. commands:
  208. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
  209. when:
  210. matrix:
  211. DB: mysql
  212. PHP: 7.2
  213. mysql5.6-php7.0:
  214. image: nextcloudci/php7.0:php7.0-19
  215. commands:
  216. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
  217. when:
  218. matrix:
  219. DB: mysql5.6
  220. PHP: "7.0"
  221. mysql5.6-php7.1:
  222. image: nextcloudci/php7.1:php7.1-16
  223. commands:
  224. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
  225. when:
  226. matrix:
  227. DB: mysql5.6
  228. PHP: 7.1
  229. mysql5.5-php7.0:
  230. image: nextcloudci/php7.0:php7.0-19
  231. commands:
  232. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
  233. when:
  234. matrix:
  235. DB: mysql5.5
  236. PHP: "7.0"
  237. mysql5.5-php7.1:
  238. image: nextcloudci/php7.1:php7.1-16
  239. commands:
  240. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
  241. when:
  242. matrix:
  243. DB: mysql5.5
  244. PHP: 7.1
  245. postgres-php7.0:
  246. image: nextcloudci/php7.0:php7.0-19
  247. commands:
  248. - sleep 10 # gives the database enough time to initialize
  249. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
  250. when:
  251. matrix:
  252. DB: postgres
  253. PHP: "7.0"
  254. postgres-php7.1:
  255. image: nextcloudci/php7.1:php7.1-16
  256. commands:
  257. - sleep 10 # gives the database enough time to initialize
  258. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
  259. when:
  260. matrix:
  261. DB: postgres
  262. PHP: 7.1
  263. mysqlmb4-php7.0:
  264. image: nextcloudci/php7.0:php7.0-19
  265. commands:
  266. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
  267. when:
  268. matrix:
  269. DB: mysqlmb4
  270. PHP: "7.0"
  271. mysqlmb4-php7.1:
  272. image: nextcloudci/php7.1:php7.1-16
  273. commands:
  274. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
  275. when:
  276. matrix:
  277. DB: mysqlmb4
  278. PHP: 7.1
  279. mysqlmb4-php7.2:
  280. image: nextcloudci/php7.2:php7.2-11
  281. commands:
  282. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
  283. when:
  284. matrix:
  285. DB: mysqlmb4
  286. PHP: 7.2
  287. integration-capabilities_features:
  288. image: nextcloudci/integration-php7.0:integration-php7.0-8
  289. commands:
  290. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  291. - cd build/integration
  292. - ./run.sh capabilities_features/capabilities.feature
  293. when:
  294. matrix:
  295. TESTS: integration-capabilities_features
  296. integration-federation_features:
  297. image: nextcloudci/integration-php7.0:integration-php7.0-8
  298. commands:
  299. - ./occ maintenance:install --admin-pass=admin
  300. - cd build/integration
  301. - ./run.sh federation_features/federated.feature
  302. when:
  303. matrix:
  304. TESTS: integration-federation_features
  305. integration-auth:
  306. image: nextcloudci/integration-php7.0:integration-php7.0-8
  307. commands:
  308. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  309. - cd build/integration
  310. - ./run.sh features/auth.feature
  311. when:
  312. matrix:
  313. TESTS: integration-auth
  314. integration-maintenance-mode:
  315. image: nextcloudci/integration-php7.0:integration-php7.0-8
  316. commands:
  317. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  318. - cd build/integration
  319. - ./run.sh features/maintenance-mode.feature
  320. when:
  321. matrix:
  322. TESTS: integration-maintenance-mode
  323. integration-ratelimiting:
  324. image: nextcloudci/integration-php7.0:integration-php7.0-8
  325. commands:
  326. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  327. - ./occ config:system:set redis host --value=cache
  328. - ./occ config:system:set redis port --value=6379 --type=integer
  329. - ./occ config:system:set redis timeout --value=0 --type=integer
  330. - ./occ config:system:set --type string --value "\\OC\\Memcache\\Redis" memcache.local
  331. - ./occ config:system:set --type string --value "\\OC\\Memcache\\Redis" memcache.distributed
  332. - ./occ app:enable testing
  333. - cd build/integration
  334. - ./run.sh features/ratelimiting.feature
  335. when:
  336. matrix:
  337. TESTS: integration-ratelimiting
  338. integration-carddav:
  339. image: nextcloudci/integration-php7.0:integration-php7.0-8
  340. commands:
  341. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  342. - cd build/integration
  343. - ./run.sh features/carddav.feature
  344. when:
  345. matrix:
  346. TESTS: integration-carddav
  347. integration-dav-v2:
  348. image: nextcloudci/integration-php7.0:integration-php7.0-8
  349. commands:
  350. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  351. - cd build/integration
  352. - ./run.sh features/dav-v2.feature
  353. when:
  354. matrix:
  355. TESTS: integration-dav-v2
  356. integration-ocs-v1:
  357. image: nextcloudci/integration-php7.0:integration-php7.0-8
  358. commands:
  359. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  360. - cd build/integration
  361. - ./run.sh features/ocs-v1.feature
  362. when:
  363. matrix:
  364. TESTS: integration-ocs-v1
  365. integration-sharing-v1:
  366. image: nextcloudci/integration-php7.0:integration-php7.0-8
  367. commands:
  368. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  369. - cd build/integration
  370. - ./run.sh features/sharing-v1.feature
  371. when:
  372. matrix:
  373. TESTS: integration-sharing-v1
  374. integration-sharing-v1-part2:
  375. image: nextcloudci/integration-php7.0:integration-php7.0-8
  376. commands:
  377. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  378. - cd build/integration
  379. - ./run.sh features/sharing-v1-part2.feature
  380. when:
  381. matrix:
  382. TESTS: integration-sharing-v1-part2
  383. integration-sharing-v1-part3:
  384. image: nextcloudci/integration-php7.0:integration-php7.0-8
  385. commands:
  386. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  387. - cd build/integration
  388. - ./run.sh features/sharing-v1-part3.feature
  389. when:
  390. matrix:
  391. TESTS: integration-sharing-v1-part3
  392. integration-checksums-v1:
  393. image: nextcloudci/integration-php7.0:integration-php7.0-8
  394. commands:
  395. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  396. - cd build/integration
  397. - ./run.sh features/checksums.feature
  398. when:
  399. matrix:
  400. TESTS: integration-checksums
  401. integration-external-storage:
  402. image: nextcloudci/integration-php7.0:integration-php7.0-8
  403. commands:
  404. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  405. - cd build/integration
  406. - ./run.sh features/external-storage.feature
  407. when:
  408. matrix:
  409. TESTS: integration-external-storage
  410. integration-provisioning-v1:
  411. image: nextcloudci/integration-php7.0:integration-php7.0-8
  412. commands:
  413. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  414. - cd build/integration
  415. - ./run.sh features/provisioning-v1.feature
  416. when:
  417. matrix:
  418. TESTS: integration-provisioning-v1
  419. integration-tags:
  420. image: nextcloudci/integration-php7.0:integration-php7.0-8
  421. commands:
  422. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  423. - cd build/integration
  424. - ./run.sh features/tags.feature
  425. when:
  426. matrix:
  427. TESTS: integration-tags
  428. integration-caldav:
  429. image: nextcloudci/integration-php7.0:integration-php7.0-8
  430. commands:
  431. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  432. - cd build/integration
  433. - ./run.sh features/caldav.feature
  434. when:
  435. matrix:
  436. TESTS: integration-caldav
  437. integration-comments:
  438. image: nextcloudci/integration-php7.0:integration-php7.0-8
  439. commands:
  440. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  441. - cd build/integration
  442. - ./run.sh features/comments.feature
  443. when:
  444. matrix:
  445. TESTS: integration-comments
  446. integration-favorites:
  447. image: nextcloudci/integration-php7.0:integration-php7.0-8
  448. commands:
  449. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  450. - cd build/integration
  451. - ./run.sh features/favorites.feature
  452. when:
  453. matrix:
  454. TESTS: integration-favorites
  455. integration-provisioning-v2:
  456. image: nextcloudci/integration-php7.0:integration-php7.0-8
  457. commands:
  458. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  459. - cd build/integration
  460. - ./run.sh features/provisioning-v2.feature
  461. when:
  462. matrix:
  463. TESTS: integration-provisioning-v2
  464. integration-webdav-related:
  465. image: nextcloudci/integration-php7.0:integration-php7.0-8
  466. commands:
  467. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  468. - cd build/integration
  469. - ./run.sh features/webdav-related.feature
  470. when:
  471. matrix:
  472. TESTS: integration-webdav-related
  473. integration-sharees-features:
  474. image: nextcloudci/integration-php7.0:integration-php7.0-8
  475. commands:
  476. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  477. - cd build/integration
  478. - ./run.sh sharees_features/sharees.feature
  479. when:
  480. matrix:
  481. TESTS: integration-sharees-features
  482. integration-sharees-v2-features:
  483. image: nextcloudci/integration-php7.0:integration-php7.0-8
  484. commands:
  485. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  486. - cd build/integration
  487. - ./run.sh sharees_features/sharees_provisioningapiv2.feature
  488. when:
  489. matrix:
  490. TESTS: integration-sharees-v2-features
  491. integration-setup-features:
  492. image: nextcloudci/integration-php7.0:integration-php7.0-8
  493. commands:
  494. - cd build/integration
  495. - ./run.sh setup_features/setup.feature
  496. when:
  497. matrix:
  498. TESTS: integration-setup-features
  499. integration-filesdrop-features:
  500. image: nextcloudci/integration-php7.0:integration-php7.0-8
  501. commands:
  502. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  503. - cd build/integration
  504. - ./run.sh filesdrop_features/filesdrop.feature
  505. when:
  506. matrix:
  507. TESTS: integration-filesdrop-features
  508. integration-transfer-ownership-features:
  509. image: nextcloudci/integration-php7.0:integration-php7.0-8
  510. commands:
  511. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  512. - cd build/integration
  513. - ./run.sh features/transfer-ownership.feature
  514. when:
  515. matrix:
  516. TESTS: integration-transfer-ownership-features
  517. integration-ldap-features:
  518. image: nextcloudci/integration-php7.0:integration-php7.0-8
  519. commands:
  520. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  521. - ./occ app:enable user_ldap
  522. - cd build/integration
  523. - ./run.sh ldap_features/ldap-ocs.feature
  524. when:
  525. matrix:
  526. TESTS: integration-ldap-features
  527. integration-trashbin:
  528. image: nextcloudci/integration-php7.0:integration-php7.0-8
  529. commands:
  530. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  531. - cd build/integration
  532. - ./run.sh features/trashbin.feature
  533. when:
  534. matrix:
  535. TESTS: integration-trashbin
  536. integration-remote-api:
  537. image: nextcloudci/integration-php7.0:integration-php7.0-8
  538. commands:
  539. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  540. - cd build/integration
  541. - ./run.sh remoteapi_features/remote.feature
  542. when:
  543. matrix:
  544. TESTS: integration-remote-api
  545. integration-download:
  546. image: nextcloudci/integration-php7.0:integration-php7.0-8
  547. commands:
  548. - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
  549. - cd build/integration
  550. - ./run.sh --tags ~@large features/download.feature
  551. when:
  552. matrix:
  553. TESTS: integration-download
  554. acceptance-access-levels:
  555. image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
  556. commands:
  557. - 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
  558. when:
  559. matrix:
  560. TESTS-ACCEPTANCE: access-levels
  561. acceptance-app-comments:
  562. image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
  563. commands:
  564. - 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
  565. when:
  566. matrix:
  567. TESTS-ACCEPTANCE: app-comments
  568. acceptance-app-files:
  569. image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
  570. commands:
  571. - 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
  572. when:
  573. matrix:
  574. TESTS-ACCEPTANCE: app-files
  575. acceptance-app-theming:
  576. image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
  577. commands:
  578. - 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
  579. when:
  580. matrix:
  581. TESTS-ACCEPTANCE: app-theming
  582. acceptance-header:
  583. image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
  584. commands:
  585. - tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-header --selenium-server selenium:4444 allow-git-repository-modifications features/header.feature
  586. when:
  587. matrix:
  588. TESTS-ACCEPTANCE: header
  589. acceptance-login:
  590. image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
  591. commands:
  592. - tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-login --selenium-server selenium:4444 allow-git-repository-modifications features/login.feature
  593. when:
  594. matrix:
  595. TESTS-ACCEPTANCE: login
  596. acceptance-users:
  597. image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
  598. commands:
  599. - tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-users --selenium-server selenium:4444 allow-git-repository-modifications features/users.feature
  600. when:
  601. matrix:
  602. TESTS-ACCEPTANCE: users
  603. nodb-codecov:
  604. image: nextcloudci/php7.0:php7.0-19
  605. commands:
  606. - phpenmod xdebug
  607. - TEST_SELECTION=NODB ./autotest.sh sqlite
  608. - wget https://codecov.io/bash -O codecov.sh
  609. - 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"
  610. - 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"
  611. when:
  612. matrix:
  613. TESTS: nodb-codecov
  614. db-codecov:
  615. image: nextcloudci/php7.0:php7.0-19
  616. commands:
  617. - phpenmod xdebug
  618. - TEST_SELECTION=QUICKDB ./autotest.sh sqlite
  619. - wget https://codecov.io/bash -O codecov.sh
  620. - 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"
  621. - 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"
  622. when:
  623. matrix:
  624. TESTS: db-codecov
  625. object-store:
  626. image: nextcloudci/php7.0:php7.0-19
  627. commands:
  628. - phpenmod xdebug
  629. - ./tests/drone-wait-objectstore.sh
  630. - TEST_SELECTION=PRIMARY-${OBJECT_STORE} ./autotest.sh sqlite
  631. - wget https://codecov.io/bash -O codecov.sh
  632. - 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"
  633. - 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"
  634. when:
  635. matrix:
  636. TESTS: object-store
  637. memcache-memcached:
  638. image: nextcloudci/php7.0-memcached:php7.0-memcached-9
  639. commands:
  640. - phpenmod xdebug
  641. - service memcached restart
  642. - ./autotest.sh sqlite tests/lib/Memcache/MemcachedTest.php
  643. - wget https://codecov.io/bash -O codecov.sh
  644. - 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"
  645. - 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"
  646. when:
  647. matrix:
  648. TEST: memcache-memcached
  649. memcache-redis-cluster:
  650. image: nextcloudci/php7.0:php7.0-19
  651. commands:
  652. - phpenmod xdebug
  653. - sleep 20
  654. - ./autotest.sh sqlite tests/lib/Memcache/RedisTest.php
  655. - wget https://codecov.io/bash -O codecov.sh
  656. - 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"
  657. - 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"
  658. when:
  659. matrix:
  660. TEST: memcache-redis-cluster
  661. matrix:
  662. include:
  663. - TESTS: checkers
  664. - TESTS: nodb-codecov
  665. ENABLE_REDIS: true
  666. - TESTS: db-codecov
  667. ENABLE_REDIS: true
  668. - DB: NODB
  669. PHP: 7.0
  670. ENABLE_REDIS: true
  671. - DB: NODB
  672. PHP: 7.1
  673. ENABLE_REDIS: true
  674. - DB: NODB
  675. PHP: 7.2
  676. ENABLE_REDIS: false
  677. - DB: sqlite
  678. PHP: 7.0
  679. ENABLE_REDIS: true
  680. - DB: sqlite
  681. PHP: 7.1
  682. ENABLE_REDIS: true
  683. - DB: sqlite
  684. PHP: 7.2
  685. ENABLE_REDIS: false
  686. - DB: mysql
  687. PHP: 7.0
  688. ENABLE_REDIS: true
  689. - DB: mysql
  690. PHP: 7.1
  691. ENABLE_REDIS: true
  692. - DB: mysql
  693. PHP: 7.2
  694. ENABLE_REDIS: false
  695. - DB: mysql5.6
  696. PHP: 7.0
  697. ENABLE_REDIS: true
  698. - DB: mysql5.6
  699. PHP: 7.1
  700. ENABLE_REDIS: true
  701. - DB: mysql5.5
  702. PHP: 7.0
  703. ENABLE_REDIS: true
  704. - DB: mysql5.5
  705. PHP: 7.1
  706. ENABLE_REDIS: true
  707. - DB: postgres
  708. PHP: 7.0
  709. POSTGRES: 9
  710. ENABLE_REDIS: true
  711. - DB: postgres
  712. PHP: 7.1
  713. POSTGRES: 9
  714. ENABLE_REDIS: true
  715. - DB: postgres
  716. PHP: 7.1
  717. POSTGRES: 10
  718. ENABLE_REDIS: true
  719. - DB: mysqlmb4
  720. PHP: 7.0
  721. ENABLE_REDIS: true
  722. - DB: mysqlmb4
  723. PHP: 7.1
  724. ENABLE_REDIS: true
  725. - DB: mysqlmb4
  726. PHP: 7.2
  727. ENABLE_REDIS: false
  728. - TESTS: integration-capabilities_features
  729. - TESTS: integration-federation_features
  730. - TESTS: integration-maintenance-mode
  731. - TESTS: integration-ratelimiting
  732. ENABLE_REDIS: true
  733. - TESTS: integration-auth
  734. - TESTS: integration-carddav
  735. - TESTS: integration-dav-v2
  736. - TESTS: integration-ocs-v1
  737. - TESTS: integration-sharing-v1
  738. - TESTS: integration-sharing-v1-part2
  739. - TESTS: integration-sharing-v1-part3
  740. - TESTS: integration-checksums
  741. - TESTS: integration-external-storage
  742. - TESTS: integration-provisioning-v1
  743. - TESTS: integration-tags
  744. - TESTS: integration-caldav
  745. - TESTS: integration-comments
  746. - TESTS: integration-favorites
  747. - TESTS: integration-provisioning-v2
  748. - TESTS: integration-webdav-related
  749. - TESTS: integration-sharees-features
  750. - TESTS: integration-sharees-v2-features
  751. - TESTS: integration-setup-features
  752. - TESTS: integration-filesdrop-features
  753. - TESTS: integration-transfer-ownership-features
  754. - TESTS: integration-ldap-features
  755. - TESTS: integration-trashbin
  756. - TESTS: integration-remote-api
  757. - TESTS: integration-download
  758. - TESTS: acceptance
  759. TESTS-ACCEPTANCE: access-levels
  760. - TESTS: acceptance
  761. TESTS-ACCEPTANCE: app-comments
  762. - TESTS: acceptance
  763. TESTS-ACCEPTANCE: app-files
  764. - TESTS: acceptance
  765. TESTS-ACCEPTANCE: app-theming
  766. - TESTS: acceptance
  767. TESTS-ACCEPTANCE: header
  768. - TESTS: acceptance
  769. TESTS-ACCEPTANCE: login
  770. - TESTS: acceptance
  771. TESTS-ACCEPTANCE: users
  772. - TESTS: jsunit
  773. - TESTS: syntax-php7.0
  774. - TESTS: syntax-php7.1
  775. - TESTS: phan
  776. - TESTS: litmus-v1
  777. - TESTS: litmus-v2
  778. - TESTS: caldavtester-old-endpoint
  779. - TESTS: caldavtester-new-endpoint
  780. - TESTS: carddavtester-new-endpoint
  781. - TESTS: carddavtester-old-endpoint
  782. - TESTS: object-store
  783. OBJECT_STORE: s3
  784. # - TESTS: object-store
  785. # OBJECT_STORE: swift
  786. # SWIFT-AUTH: v2.0
  787. # - TESTS: object-store
  788. # OBJECT_STORE: swift
  789. # SWIFT-AUTH: v3
  790. - TESTS: sqlite-php7.0-samba-native
  791. - TESTS: sqlite-php7.0-samba-non-native
  792. - TEST: memcache-memcached
  793. - TEST: memcache-redis-cluster
  794. ENABLE_REDIS_CLUSTER: true
  795. - TESTS: sqlite-php7.0-webdav-apache
  796. ENABLE_REDIS: true
  797. services:
  798. cache:
  799. image: redis
  800. when:
  801. matrix:
  802. ENABLE_REDIS: true
  803. cache-cluster:
  804. image: morrisjobke/redis-cluster
  805. when:
  806. matrix:
  807. ENABLE_REDIS_CLUSTER: true
  808. postgres-9:
  809. image: postgres:9
  810. environment:
  811. - POSTGRES_USER=oc_autotest
  812. - POSTGRES_PASSWORD=owncloud
  813. tmpfs:
  814. - /var/lib/postgresql/data
  815. when:
  816. matrix:
  817. DB: postgres
  818. POSTGRES: 9
  819. postgres-10:
  820. image: postgres:10
  821. environment:
  822. - POSTGRES_USER=oc_autotest
  823. - POSTGRES_PASSWORD=owncloud
  824. tmpfs:
  825. - /var/lib/postgresql/data
  826. when:
  827. matrix:
  828. DB: postgres
  829. POSTGRES: 10
  830. mysql:
  831. image: mysql:5.7
  832. environment:
  833. - MYSQL_ROOT_PASSWORD=owncloud
  834. - MYSQL_USER=oc_autotest
  835. - MYSQL_PASSWORD=owncloud
  836. - MYSQL_DATABASE=oc_autotest
  837. tmpfs:
  838. - /var/lib/mysql
  839. when:
  840. matrix:
  841. DB: mysql
  842. mysql:
  843. image: mysql:5.6
  844. environment:
  845. - MYSQL_ROOT_PASSWORD=owncloud
  846. - MYSQL_USER=oc_autotest
  847. - MYSQL_PASSWORD=owncloud
  848. - MYSQL_DATABASE=oc_autotest
  849. tmpfs:
  850. - /var/lib/mysql
  851. when:
  852. matrix:
  853. DB: mysql5.6
  854. mysql:
  855. image: mysql:5.5
  856. environment:
  857. - MYSQL_ROOT_PASSWORD=owncloud
  858. - MYSQL_USER=oc_autotest
  859. - MYSQL_PASSWORD=owncloud
  860. - MYSQL_DATABASE=oc_autotest
  861. tmpfs:
  862. - /var/lib/mysql
  863. when:
  864. matrix:
  865. DB: mysql5.5
  866. mysqlmb4:
  867. image: mysql
  868. environment:
  869. - MYSQL_ROOT_PASSWORD=owncloud
  870. - MYSQL_USER=oc_autotest
  871. - MYSQL_PASSWORD=owncloud
  872. - MYSQL_DATABASE=oc_autotest
  873. command: [ "--innodb_large_prefix=true", "--innodb_file_format=barracuda", "--innodb_file_per_table=true" ]
  874. tmpfs:
  875. - /var/lib/mysql
  876. when:
  877. matrix:
  878. DB: mysqlmb4
  879. fake-s3:
  880. image: lphoward/fake-s3
  881. when:
  882. matrix:
  883. OBJECT_STORE: s3
  884. dockswift:
  885. image: icewind1991/dockswift:nextcloud-ci
  886. environment:
  887. - IPADDRESS=dockswift
  888. when:
  889. matrix:
  890. OBJECT_STORE: swift
  891. selenium:
  892. image: selenium/standalone-firefox:2.53.1-beryllium
  893. environment:
  894. # Reduce default log level for Selenium server (INFO) as it is too
  895. # verbose.
  896. - JAVA_OPTS=-Dselenium.LOGGER.level=WARNING
  897. when:
  898. matrix:
  899. TESTS: acceptance
  900. branches: [ master, stable* ]