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 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424
  1. pipeline:
  2. clone:
  3. image: plugins/git
  4. depth: 1
  5. jsunit:
  6. image: nextcloudci/jsunit:1.0.6
  7. commands:
  8. - ./autotest-js.sh
  9. when:
  10. matrix:
  11. TESTS: jsunit
  12. check-autoloader:
  13. image: nextcloudci/php7.0:php7.0-2
  14. commands:
  15. - bash ./build/autoloaderchecker.sh
  16. when:
  17. matrix:
  18. TESTS: check-autoloader
  19. app-check-code:
  20. image: nextcloudci/php7.0:php7.0-2
  21. commands:
  22. - ./occ app:check-code admin_audit
  23. - ./occ app:check-code comments
  24. - ./occ app:check-code federation
  25. - ./occ app:check-code sharebymail
  26. - ./occ app:check-code systemtags
  27. - ./occ app:check-code theming
  28. - ./occ app:check-code workflowengine
  29. when:
  30. matrix:
  31. TESTS: app-check-code
  32. signed-off-check:
  33. image: nextcloudci/php7.0:php7.0-2
  34. commands:
  35. - php ./build/signed-off-checker.php
  36. when:
  37. matrix:
  38. TESTS: signed-off-check
  39. htaccess-checker:
  40. image: nextcloudci/php7.0:php7.0-2
  41. commands:
  42. - php ./build/htaccess-checker.php
  43. when:
  44. matrix:
  45. TESTS: htaccess-checker
  46. syntax-php5.6:
  47. image: nextcloudci/php5.6:php5.6-2
  48. commands:
  49. - composer install
  50. - ./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 .
  51. when:
  52. matrix:
  53. TESTS: syntax-php5.6
  54. syntax-php7.0:
  55. image: nextcloudci/php7.0:php7.0-2
  56. commands:
  57. - composer install
  58. - ./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 .
  59. when:
  60. matrix:
  61. TESTS: syntax-php7.0
  62. litmus-v1:
  63. image: nextcloudci/litmus-php7.0:litmus-php7.0-2
  64. commands:
  65. - bash tests/travis/install.sh sqlite
  66. - bash apps/dav/tests/travis/litmus-v1/script.sh
  67. when:
  68. matrix:
  69. TESTS: litmus-v1
  70. litmus-v2:
  71. image: nextcloudci/litmus-php7.0:litmus-php7.0-2
  72. commands:
  73. - bash tests/travis/install.sh sqlite
  74. - bash apps/dav/tests/travis/litmus-v2/script.sh
  75. when:
  76. matrix:
  77. TESTS: litmus-v2
  78. caldavtester:
  79. image: nextcloudci/litmus-php7.0:litmus-php7.0-2
  80. commands:
  81. - bash tests/travis/install.sh sqlite
  82. - bash apps/dav/tests/travis/caldav/install.sh
  83. - bash apps/dav/tests/travis/caldav/script.sh
  84. when:
  85. matrix:
  86. TESTS: caldavtester
  87. carddavtester:
  88. image: nextcloudci/litmus-php7.0:litmus-php7.0-2
  89. commands:
  90. - bash tests/travis/install.sh sqlite
  91. - bash apps/dav/tests/travis/carddav/install.sh
  92. - bash apps/dav/tests/travis/carddav/script.sh
  93. when:
  94. matrix:
  95. TESTS: carddavtester
  96. nodb-php5.6:
  97. image: nextcloudci/php5.6:php5.6-2
  98. commands:
  99. - NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
  100. when:
  101. matrix:
  102. DB: NODB
  103. PHP: 5.6
  104. nodb-php7.0:
  105. image: nextcloudci/php7.0:php7.0-2
  106. commands:
  107. - NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
  108. when:
  109. matrix:
  110. DB: NODB
  111. PHP: "7.0"
  112. nodb-php7.1:
  113. image: nextcloudci/php7.1:php7.1-8
  114. commands:
  115. - NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
  116. when:
  117. matrix:
  118. DB: NODB
  119. PHP: 7.1
  120. sqlite-php5.6:
  121. image: nextcloudci/php5.6:php5.6-2
  122. commands:
  123. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
  124. when:
  125. matrix:
  126. DB: sqlite
  127. PHP: 5.6
  128. sqlite-php7.0:
  129. image: nextcloudci/php7.0:php7.0-2
  130. commands:
  131. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
  132. when:
  133. matrix:
  134. DB: sqlite
  135. PHP: "7.0"
  136. sqlite-php7.1:
  137. image: nextcloudci/php7.1:php7.1-8
  138. commands:
  139. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
  140. when:
  141. matrix:
  142. DB: sqlite
  143. PHP: 7.1
  144. mysql-php5.6:
  145. image: nextcloudci/php5.6:php5.6-2
  146. commands:
  147. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
  148. when:
  149. matrix:
  150. DB: mysql
  151. PHP: 5.6
  152. postgres-php5.6:
  153. image: nextcloudci/php5.6:php5.6-2
  154. commands:
  155. - sleep 10 # gives the database enough time to initialize
  156. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
  157. when:
  158. matrix:
  159. DB: postgres
  160. PHP: 5.6
  161. mysqlmb4-php5.6:
  162. image: nextcloudci/php5.6:php5.6-2
  163. commands:
  164. - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
  165. when:
  166. matrix:
  167. DB: mysqlmb4
  168. PHP: 5.6
  169. integration-capabilities_features:
  170. image: nextcloudci/integration-php7.0:integration-php7.0-1
  171. commands:
  172. - ./occ maintenance:install --admin-pass=admin
  173. - cd build/integration
  174. - ./run.sh capabilities_features/capabilities.feature
  175. when:
  176. matrix:
  177. TESTS: integration-capabilities_features
  178. integration-federation_features:
  179. image: nextcloudci/integration-php7.0:integration-php7.0-1
  180. commands:
  181. - ./occ maintenance:install --admin-pass=admin
  182. - cd build/integration
  183. - ./run.sh federation_features/federated.feature
  184. when:
  185. matrix:
  186. TESTS: integration-federation_features
  187. integration-auth:
  188. image: nextcloudci/integration-php7.0:integration-php7.0-1
  189. commands:
  190. - ./occ maintenance:install --admin-pass=admin
  191. - cd build/integration
  192. - ./run.sh features/auth.feature
  193. when:
  194. matrix:
  195. TESTS: integration-auth
  196. integration-carddav:
  197. image: nextcloudci/integration-php7.0:integration-php7.0-1
  198. commands:
  199. - ./occ maintenance:install --admin-pass=admin
  200. - cd build/integration
  201. - ./run.sh features/carddav.feature
  202. when:
  203. matrix:
  204. TESTS: integration-carddav
  205. integration-dav-v2:
  206. image: nextcloudci/integration-php7.0:integration-php7.0-1
  207. commands:
  208. - ./occ maintenance:install --admin-pass=admin
  209. - cd build/integration
  210. - ./run.sh features/dav-v2.feature
  211. when:
  212. matrix:
  213. TESTS: integration-dav-v2
  214. integration-ocs-v1:
  215. image: nextcloudci/integration-php7.0:integration-php7.0-1
  216. commands:
  217. - ./occ maintenance:install --admin-pass=admin
  218. - cd build/integration
  219. - ./run.sh features/ocs-v1.feature
  220. when:
  221. matrix:
  222. TESTS: integration-ocs-v1
  223. integration-sharing-v1:
  224. image: nextcloudci/integration-php7.0:integration-php7.0-1
  225. commands:
  226. - ./occ maintenance:install --admin-pass=admin
  227. - cd build/integration
  228. - ./run.sh features/sharing-v1.feature
  229. when:
  230. matrix:
  231. TESTS: integration-sharing-v1
  232. integration-checksums-v1:
  233. image: nextcloudci/integration-php7.0:integration-php7.0-1
  234. commands:
  235. - ./occ maintenance:install --admin-pass=admin
  236. - cd build/integration
  237. - ./run.sh features/checksums.feature
  238. when:
  239. matrix:
  240. TESTS: integration-checksums
  241. integration-external-storage:
  242. image: nextcloudci/integration-php7.0:integration-php7.0-1
  243. commands:
  244. - ./occ maintenance:install --admin-pass=admin
  245. - cd build/integration
  246. - ./run.sh features/external-storage.feature
  247. when:
  248. matrix:
  249. TESTS: integration-external-storage
  250. integration-provisioning-v1:
  251. image: nextcloudci/integration-php7.0:integration-php7.0-1
  252. commands:
  253. - ./occ maintenance:install --admin-pass=admin
  254. - cd build/integration
  255. - ./run.sh features/provisioning-v1.feature
  256. when:
  257. matrix:
  258. TESTS: integration-provisioning-v1
  259. integration-tags:
  260. image: nextcloudci/integration-php7.0:integration-php7.0-1
  261. commands:
  262. - ./occ maintenance:install --admin-pass=admin
  263. - cd build/integration
  264. - ./run.sh features/tags.feature
  265. when:
  266. matrix:
  267. TESTS: integration-tags
  268. integration-caldav:
  269. image: nextcloudci/integration-php7.0:integration-php7.0-1
  270. commands:
  271. - ./occ maintenance:install --admin-pass=admin
  272. - cd build/integration
  273. - ./run.sh features/caldav.feature
  274. when:
  275. matrix:
  276. TESTS: integration-caldav
  277. integration-comments:
  278. image: nextcloudci/integration-php7.0:integration-php7.0-1
  279. commands:
  280. - ./occ maintenance:install --admin-pass=admin
  281. - cd build/integration
  282. - ./run.sh features/comments.feature
  283. when:
  284. matrix:
  285. TESTS: integration-comments
  286. integration-favorites:
  287. image: nextcloudci/integration-php7.0:integration-php7.0-1
  288. commands:
  289. - ./occ maintenance:install --admin-pass=admin
  290. - cd build/integration
  291. - ./run.sh features/favorites.feature
  292. when:
  293. matrix:
  294. TESTS: integration-favorites
  295. integration-provisioning-v2:
  296. image: nextcloudci/integration-php7.0:integration-php7.0-1
  297. commands:
  298. - ./occ maintenance:install --admin-pass=admin
  299. - cd build/integration
  300. - ./run.sh features/provisioning-v2.feature
  301. when:
  302. matrix:
  303. TESTS: integration-provisioning-v2
  304. integration-webdav-related:
  305. image: nextcloudci/integration-php7.0:integration-php7.0-1
  306. commands:
  307. - ./occ maintenance:install --admin-pass=admin
  308. - cd build/integration
  309. - ./run.sh features/webdav-related.feature
  310. when:
  311. matrix:
  312. TESTS: integration-webdav-related
  313. integration-sharees-features:
  314. image: nextcloudci/integration-php7.0:integration-php7.0-1
  315. commands:
  316. - ./occ maintenance:install --admin-pass=admin
  317. - cd build/integration
  318. - ./run.sh sharees_features/sharees.feature
  319. when:
  320. matrix:
  321. TESTS: integration-sharees-features
  322. nodb-codecov:
  323. image: nextcloudci/php7.0:php7.0-2
  324. commands:
  325. - TEST_SELECTION=NODB ./autotest.sh sqlite
  326. - wget https://codecov.io/bash -O codecov.sh
  327. - 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"
  328. - 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"
  329. when:
  330. matrix:
  331. TESTS: nodb-codecov
  332. db-codecov:
  333. image: nextcloudci/php7.0:php7.0-2
  334. commands:
  335. - TEST_SELECTION=QUICKDB ./autotest.sh sqlite
  336. - wget https://codecov.io/bash -O codecov.sh
  337. - 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"
  338. - 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"
  339. when:
  340. matrix:
  341. TESTS: db-codecov
  342. matrix:
  343. include:
  344. - TESTS: signed-off-check
  345. - TESTS: htaccess-checker
  346. - TESTS: nodb-codecov
  347. - TESTS: db-codecov
  348. - TESTS: integration-capabilities_features
  349. - TESTS: integration-federation_features
  350. - TESTS: integration-auth
  351. - TESTS: integration-carddav
  352. - TESTS: integration-dav-v2
  353. - TESTS: integration-ocs-v1
  354. - TESTS: integration-sharing-v1
  355. - TESTS: integration-checksums
  356. - TESTS: integration-external-storage
  357. - TESTS: integration-provisioning-v1
  358. - TESTS: integration-tags
  359. - TESTS: integration-caldav
  360. - TESTS: integration-comments
  361. - TESTS: integration-favorites
  362. - TESTS: integration-provisioning-v2
  363. - TESTS: integration-webdav-related
  364. - TESTS: integration-sharees-features
  365. - TESTS: jsunit
  366. - TESTS: check-autoloader
  367. - TESTS: app-check-code
  368. - TESTS: syntax-php5.6
  369. - TESTS: syntax-php7.0
  370. - TESTS: litmus-v1
  371. - TESTS: litmus-v2
  372. - TESTS: caldavtester
  373. - TESTS: carddavtester
  374. - DB: NODB
  375. PHP: 5.6
  376. - DB: NODB
  377. PHP: 7.0
  378. - DB: NODB
  379. PHP: 7.1
  380. - DB: sqlite
  381. PHP: 5.6
  382. - DB: sqlite
  383. PHP: 7.0
  384. - DB: sqlite
  385. PHP: 7.1
  386. - DB: mysql
  387. PHP: 5.6
  388. - DB: postgres
  389. PHP: 5.6
  390. - DB: mysqlmb4
  391. PHP: 5.6
  392. services:
  393. cache:
  394. image: redis
  395. postgres:
  396. image: postgres
  397. environment:
  398. - POSTGRES_USER=oc_autotest
  399. - POSTGRES_PASSWORD=oc_autotest
  400. when:
  401. matrix:
  402. DB: postgres
  403. mysql:
  404. image: mysql
  405. environment:
  406. - MYSQL_ROOT_PASSWORD=owncloud
  407. - MYSQL_USER=oc_autotest
  408. - MYSQL_PASSWORD=owncloud
  409. - MYSQL_DATABASE=oc_autotest
  410. when:
  411. matrix:
  412. DB: mysql
  413. mysqlmb4:
  414. image: mysql
  415. environment:
  416. - MYSQL_ROOT_PASSWORD=owncloud
  417. - MYSQL_USER=oc_autotest
  418. - MYSQL_PASSWORD=owncloud
  419. - MYSQL_DATABASE=oc_autotest
  420. command: [ "--innodb_large_prefix=true", "--innodb_file_format=barracuda", "--innodb_file_per_table=true" ]
  421. when:
  422. matrix:
  423. DB: mysqlmb4