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

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