.drone.yml 34 KB

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