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.

.cirrus.yml 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  1. # content of service-account-credentials.json, used to access to Google Cloud Platform
  2. gcp_credentials: ENCRYPTED[534d4b89444f3e4e3ba299769a98010609e71992355c132fd6e448f1d8fcb039184224c8b4cdf7933b0aec16d6a8896d]
  3. env:
  4. GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.jvmargs="-XX:+PrintFlagsFinal -XshowSettings:vm -XX:+HeapDumpOnOutOfMemoryError -XX:+UnlockExperimentalVMOptions -Djava.security.egd=file:/dev/./urandom -Dfile.encoding=UTF8 -Duser.language=en -Duser.country=US"
  5. # to be replaced by other credentials
  6. ARTIFACTORY_PRIVATE_USERNAME: ENCRYPTED[c0baa3376daa1e08d602435081d07653799cf34ab09ca92e575f3dc4176bc6cf2ebf87120e83f3aa6804f072013e8e2b]
  7. ARTIFACTORY_PRIVATE_PASSWORD: ENCRYPTED[f13d32d218c3da8008114d2c8857b2956047fbdab2163bbf186b8b89f789f0efa7504f499749a59ad5988c14e5360353]
  8. ARTIFACTORY_DEPLOY_USERNAME: public-qa-deployer
  9. ARTIFACTORY_DEPLOY_PASSWORD: ENCRYPTED[9362d735843b21b375b6e19d91e0de5216e053e229e39e2ce33a0c866306e6e3f9b08db8a0e126ca5e986fea97e975fd]
  10. ARTIFACTORY_DEPLOY_USERNAME_PRIVATE: private-qa-deployer
  11. ARTIFACTORY_DEPLOY_PASSWORD_PRIVATE: ENCRYPTED[61769719e9b775afe103dbee22141eeaa0116b3332eafb993be2a5919ff7bf017cdc519afed07dc6cac8ebbc0846f191]
  12. ARTIFACTORY_API_KEY: ENCRYPTED[d52910db749f2678f43084b18c849486d68fbc02c2f5489c7ee1085c395de9dc7575313a8b348bb5361a693dd782e07e]
  13. # download licenses for testing commercial editions
  14. GITHUB_TOKEN: ENCRYPTED[bd3d5f7fe5901d9d9f2564caebb52af285262177294eae67ba5f1a3a1df1316449ce6e09c5e1b68eeff37e024e2d167a]
  15. # use a permanent GitHub access token to perform a clone (by default CirrusCI uses a temporary one)
  16. CIRRUS_REPO_CLONE_TOKEN: ENCRYPTED[f20fee6519296187a473964e60afb08a1bbdc889a624fad0297b41a21d8697f8d2da4d2d245194ade630dcf46b4b581e]
  17. # notifications to burgr
  18. BURGR_URL: ENCRYPTED[06b8fcc9aaa4b495043aa08bc4450b89588902ad9a60cc8525f53d14810aff84558812e4b7eb01131dd64f33916ac941]
  19. BURGR_USERNAME: ENCRYPTED[cf7bfb936025fb763013bbfef0ab5723c0d9b53f135d79af36f9defa933f4b5fc72842bd83a97ce9b614503c1b77e6da]
  20. BURGR_PASSWORD: ENCRYPTED[bc554fc6a06c9f14cc9924cefad0a69e962a905b6d1609fc9357d458b45fc52ac74c960ad9c7382a0691433fa9dcd483]
  21. # ops-jenkins credentials required to trigger docs deppoyment
  22. OPS_JENKINS_URL: ENCRYPTED[00ea2b88c762e374c02a3d29a306cc1cf3ceb4b3d807bda2a601486e0d483fd67a556ef295830231390f45e7d512b54d]
  23. OPS_JENKINS_USERNAME: ENCRYPTED[c778b1483a7ca000dc760ef731c2fbe1dc05a9af38f2a85206cfbcdf649e50715ca447ac291485d513aa9120b0c9abad]
  24. OPS_JENKINS_PASSWORD: ENCRYPTED[a035a2826c3bc971288284a59bd00dda193d8a81e7809e08bf4ec59b68894c16f30095a567e65755240bb7f919c2e0bf]
  25. # DOCS_JOB_TOKEN: token required to launch the deployment of documentation job on ops-jenkins (see private/cirrus/cirrus-trigger-deploy-docs.sh)
  26. DOCS_JOB_TOKEN: ENCRYPTED[7771f76a0fc0038f9929c32d98588963c8dcda6148ba054f57358bc17faa109ac638134c89067f3bacc8933d2fa2c541]
  27. # analysis on next.sonarqube.com
  28. SONARQUBE_NEXT_TOKEN: ENCRYPTED[e3d98fa0ecceb015e9803d47f78c3040f5a710d678a631107635d69f650d4e53ecaf2e2334cc1fe0c47037ec915dcda0]
  29. auto_cancellation: $CIRRUS_BRANCH != 'master' && $CIRRUS_BRANCH !=~ 'branch.*' && $CIRRUS_BRANCH != 'dogfood-on-next'
  30. build_task:
  31. only_if: $CIRRUS_BRANCH !=~ "dogfood/.*" && $CIRRUS_BRANCH != "public_master"
  32. timeout_in: 90m
  33. gke_container:
  34. dockerfile: private/docker/Dockerfile-build
  35. builder_image_project: ci-cd-215716
  36. builder_image_name: docker-builder-v1
  37. cluster_name: cirrus-euw3a-cluster
  38. zone: europe-west3-a
  39. namespace: default
  40. cpu: 3
  41. memory: 10Gb
  42. gradle_cache:
  43. folder: ~/.gradle/caches
  44. env:
  45. # No need to clone the full history.
  46. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  47. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  48. CIRRUS_CLONE_DEPTH: 50
  49. script:
  50. - ./private/cirrus/cirrus-build.sh
  51. cleanup_before_cache_script:
  52. - ./private/cirrus/cleanup-gradle-cache.sh
  53. on_failure:
  54. reports_artifacts:
  55. path: "**/build/reports/**/*"
  56. deploy_docs_task:
  57. depends_on: build
  58. only_if: $CIRRUS_BRANCH == 'dogfood-on-next'
  59. gke_container:
  60. dockerfile: private/docker/Dockerfile-build
  61. builder_image_project: ci-cd-215716
  62. builder_image_name: docker-builder-v1
  63. cluster_name: cirrus-euw3a-cluster
  64. zone: europe-west3-a
  65. namespace: default
  66. cpu: 1
  67. memory: 1Gb
  68. env:
  69. # No need to clone the full history.
  70. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  71. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  72. CIRRUS_CLONE_DEPTH: 50
  73. script:
  74. - ./private/cirrus/cirrus-trigger-deploy-docs.sh
  75. validate_task:
  76. depends_on: build
  77. only_if: $CIRRUS_BRANCH !=~ "dogfood/.*" && $CIRRUS_BRANCH != "public_master" && $CIRRUS_TAG != "nightly-build"
  78. timeout_in: 90m
  79. gke_container:
  80. dockerfile: private/docker/Dockerfile-build
  81. builder_image_project: ci-cd-215716
  82. builder_image_name: docker-builder-v1
  83. cluster_name: cirrus-euw3a-cluster
  84. zone: europe-west3-a
  85. namespace: default
  86. cpu: 2.4
  87. memory: 10Gb
  88. additional_containers:
  89. - name: postgres
  90. image: postgres:10.6
  91. port: 5432
  92. cpu: 1
  93. memory: 1Gb
  94. env:
  95. POSTGRES_USER: postgres
  96. POSTGRES_PASSWORD: postgres
  97. gradle_cache:
  98. folder: ~/.gradle/caches
  99. script:
  100. - ./private/cirrus/cirrus-validate.sh postgres106
  101. cleanup_before_cache_script:
  102. - ./private/cirrus/cleanup-gradle-cache.sh
  103. on_failure:
  104. reports_artifacts:
  105. path: "**/build/reports/**/*"
  106. junit_artifacts:
  107. path: "**/test-results/**/*.xml"
  108. format: junit
  109. qa_task:
  110. depends_on: build
  111. only_if: $CIRRUS_BRANCH !=~ "dogfood/.*" && $CIRRUS_BRANCH != "public_master" && $CIRRUS_TAG != "nightly-build"
  112. gke_container:
  113. dockerfile: private/docker/Dockerfile-build
  114. builder_image_project: ci-cd-215716
  115. builder_image_name: docker-builder-v1
  116. cluster_name: cirrus-euw3a-cluster
  117. zone: europe-west3-a
  118. namespace: default
  119. cpu: 2.4
  120. memory: 10Gb
  121. additional_containers:
  122. - name: postgres
  123. image: postgres:10.6
  124. port: 5432
  125. cpu: 1
  126. memory: 1Gb
  127. env:
  128. POSTGRES_USER: postgres
  129. POSTGRES_PASSWORD: postgres
  130. env:
  131. # No need to clone the full history.
  132. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  133. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  134. CIRRUS_CLONE_DEPTH: 50
  135. matrix:
  136. QA_CATEGORY: Cat1
  137. QA_CATEGORY: Cat2
  138. QA_CATEGORY: Cat3
  139. QA_CATEGORY: Cat4
  140. QA_CATEGORY: Cat5
  141. QA_CATEGORY: Cat6
  142. QA_CATEGORY: Cat7
  143. QA_CATEGORY: Gov
  144. QA_CATEGORY: Billing
  145. QA_CATEGORY: License
  146. QA_CATEGORY: Branch
  147. QA_CATEGORY: Upgrade
  148. gradle_cache:
  149. folder: ~/.gradle/caches
  150. script:
  151. - ./private/cirrus/cirrus-qa.sh postgres106
  152. cleanup_before_cache_script:
  153. - ./private/cirrus/cleanup-gradle-cache.sh
  154. on_failure:
  155. reports_artifacts:
  156. path: "**/build/reports/**/*"
  157. screenshots_artifacts:
  158. path: "**/build/screenshots/**/*"
  159. junit_artifacts:
  160. path: "**/test-results/**/*.xml"
  161. format: junit
  162. promote_task:
  163. depends_on:
  164. - build
  165. - validate
  166. - qa
  167. only_if: $CIRRUS_BRANCH !=~ "dogfood/.*" && $CIRRUS_BRANCH != "public_master" && $CIRRUS_TAG != "nightly-build"
  168. gke_container:
  169. dockerfile: private/docker/Dockerfile-build
  170. builder_image_project: ci-cd-215716
  171. builder_image_name: docker-builder-v1
  172. cluster_name: cirrus-euw3a-cluster
  173. zone: europe-west3-a
  174. namespace: default
  175. cpu: 1
  176. memory: 1Gb
  177. env:
  178. # No need to clone the full history.
  179. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  180. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  181. CIRRUS_CLONE_DEPTH: 50
  182. script:
  183. - ./private/cirrus/cirrus-promote.sh
  184. test_sql_mysql57_task:
  185. depends_on: build
  186. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  187. # this task on your branch
  188. only_if: $CIRRUS_TAG == "nightly-build"
  189. gke_container:
  190. image: gradle:5.4.1-jdk11
  191. cluster_name: cirrus-euw3a-cluster
  192. zone: europe-west3-a
  193. namespace: default
  194. cpu: 1
  195. memory: 10Gb
  196. additional_containers:
  197. - name: mysql
  198. image: mysql:5.7 # see https://github.com/mysql/mysql-docker
  199. port: 3306
  200. cpu: 1
  201. memory: 1Gb
  202. env:
  203. MYSQL_ROOT_PASSWORD: sonarsource
  204. MYSQL_DATABASE: sonar
  205. MYSQL_USER: sonar
  206. MYSQL_PASSWORD: sonar
  207. gradle_cache:
  208. folder: ~/.gradle/caches
  209. script:
  210. - ./private/cirrus/cirrus-db-unit-test.sh mysql57
  211. cleanup_before_cache_script:
  212. - ./private/cirrus/cleanup-gradle-cache.sh
  213. on_failure:
  214. reports_artifacts:
  215. path: "**/build/reports/**/*"
  216. junit_artifacts:
  217. path: "**/test-results/**/*.xml"
  218. format: junit
  219. test_sql_mssql2017_task:
  220. depends_on: build
  221. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  222. # this task on your branch
  223. only_if: $CIRRUS_TAG == "nightly-build"
  224. gke_container:
  225. image: gradle:5.4.1-jdk11
  226. cluster_name: cirrus-euw3a-cluster
  227. zone: europe-west3-a
  228. namespace: default
  229. cpu: 1
  230. memory: 5Gb
  231. additional_containers:
  232. - name: mssql
  233. image: mcr.microsoft.com/mssql/server:2017-CU12-ubuntu
  234. port: 1433
  235. cpu: 2
  236. memory: 5Gb
  237. env:
  238. MSSQL_PID: Developer # this is the default edition
  239. ACCEPT_EULA: Y
  240. SA_PASSWORD: sonarqube!1
  241. gradle_cache:
  242. folder: ~/.gradle/caches
  243. script:
  244. - ./private/cirrus/cirrus-db-unit-test.sh mssql2017
  245. cleanup_before_cache_script:
  246. - ./private/cirrus/cleanup-gradle-cache.sh
  247. on_failure:
  248. reports_artifacts:
  249. path: "**/build/reports/**/*"
  250. junit_artifacts:
  251. path: "**/test-results/**/*.xml"
  252. format: junit
  253. test_sql_mssql2019_task:
  254. depends_on: build
  255. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  256. # this task on your branch
  257. only_if: $CIRRUS_TAG == "nightly-build"
  258. gke_container:
  259. image: gradle:5.4.1-jdk11
  260. cluster_name: cirrus-euw3a-cluster
  261. zone: europe-west3-a
  262. namespace: default
  263. cpu: 1
  264. memory: 5Gb
  265. additional_containers:
  266. - name: mssql
  267. image: mcr.microsoft.com/mssql/server:2019-CTP2.2-ubuntu
  268. port: 1433
  269. cpu: 2
  270. memory: 5Gb
  271. env:
  272. MSSQL_PID: Developer # this is the default edition
  273. ACCEPT_EULA: Y
  274. SA_PASSWORD: sonarqube!1
  275. gradle_cache:
  276. folder: ~/.gradle/caches
  277. script:
  278. - ./private/cirrus/cirrus-db-unit-test.sh mssql2019
  279. cleanup_before_cache_script:
  280. - ./private/cirrus/cleanup-gradle-cache.sh
  281. on_failure:
  282. reports_artifacts:
  283. path: "**/build/reports/**/*"
  284. junit_artifacts:
  285. path: "**/test-results/**/*.xml"
  286. format: junit
  287. # this is the oldest compatible version of PostgreSQL
  288. test_sql_postgres93_task:
  289. depends_on: build
  290. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  291. # this task on your branch
  292. only_if: $CIRRUS_TAG == "nightly-build"
  293. gke_container:
  294. image: gradle:5.4.1-jdk11
  295. cluster_name: cirrus-euw3a-cluster
  296. zone: europe-west3-a
  297. namespace: default
  298. cpu: 1
  299. memory: 5Gb
  300. additional_containers:
  301. - name: postgres
  302. image: postgres:9.3
  303. port: 5432
  304. cpu: 1
  305. memory: 1Gb
  306. env:
  307. POSTGRES_USER: postgres
  308. POSTGRES_PASSWORD: postgres
  309. gradle_cache:
  310. folder: ~/.gradle/caches
  311. script:
  312. - ./private/cirrus/cirrus-db-unit-test.sh postgres93
  313. cleanup_before_cache_script:
  314. - ./private/cirrus/cleanup-gradle-cache.sh
  315. on_failure:
  316. reports_artifacts:
  317. path: "**/build/reports/**/*"
  318. junit_artifacts:
  319. path: "**/test-results/**/*.xml"
  320. format: junit
  321. test_sql_oracle12_task:
  322. depends_on: build
  323. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  324. # this task on your branch
  325. only_if: $CIRRUS_TAG == "nightly-build"
  326. gke_container:
  327. image: gradle:5.4.1-jdk11
  328. cluster_name: cirrus-euw3a-cluster
  329. zone: europe-west3-a
  330. namespace: default
  331. cpu: 1
  332. memory: 5Gb
  333. additional_containers:
  334. - name: oracle
  335. image: gcr.io/ci-cd-215716/oracle12:0.0.1 # see https://github.com/SonarSource/vms/blob/master/docker/README.md#oracle-12c to build it
  336. port: 1521
  337. cpu: 2
  338. memory: 5Gb
  339. env:
  340. ORACLE_PWD: sonarqube
  341. gradle_cache:
  342. folder: ~/.gradle/caches
  343. script:
  344. - ./private/cirrus/cirrus-db-unit-test.sh oracle12
  345. cleanup_before_cache_script:
  346. - ./private/cirrus/cleanup-gradle-cache.sh
  347. on_failure:
  348. reports_artifacts:
  349. path: "**/build/reports/**/*"
  350. junit_artifacts:
  351. path: "**/test-results/**/*.xml"
  352. format: junit
  353. test_upgrade_mysql57_task:
  354. depends_on: build
  355. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  356. # this task on your branch
  357. only_if: $CIRRUS_TAG == "nightly-build"
  358. gke_container:
  359. dockerfile: private/docker/Dockerfile-build
  360. builder_image_project: ci-cd-215716
  361. builder_image_name: docker-builder-v1
  362. cluster_name: cirrus-euw3a-cluster
  363. zone: europe-west3-a
  364. namespace: default
  365. cpu: 1.5
  366. memory: 6Gb
  367. additional_containers:
  368. - name: mysql
  369. image: mysql:5.7 # see https://github.com/mysql/mysql-docker
  370. port: 3306
  371. cpu: 1
  372. memory: 1Gb
  373. env:
  374. MYSQL_ROOT_PASSWORD: sonarsource
  375. MYSQL_DATABASE: sonar
  376. MYSQL_USER: sonar
  377. MYSQL_PASSWORD: sonar
  378. env:
  379. # No need to clone the full history.
  380. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  381. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  382. CIRRUS_CLONE_DEPTH: 50
  383. matrix:
  384. QA_CATEGORY: Upgrade
  385. gradle_cache:
  386. folder: ~/.gradle/caches
  387. script:
  388. - ./private/cirrus/cirrus-qa.sh mysql57
  389. cleanup_before_cache_script:
  390. - ./private/cirrus/cleanup-gradle-cache.sh
  391. on_failure:
  392. reports_artifacts:
  393. path: "**/build/reports/**/*"
  394. junit_artifacts:
  395. path: "**/test-results/**/*.xml"
  396. format: junit
  397. test_upgrade_mssql2017_task:
  398. depends_on: build
  399. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  400. # this task on your branch
  401. only_if: $CIRRUS_TAG == "nightly-build"
  402. gke_container:
  403. dockerfile: private/docker/Dockerfile-build
  404. builder_image_project: ci-cd-215716
  405. builder_image_name: docker-builder-v1
  406. cluster_name: cirrus-euw3a-cluster
  407. zone: europe-west3-a
  408. namespace: default
  409. cpu: 1.5
  410. memory: 6Gb
  411. additional_containers:
  412. - name: mssql
  413. image: mcr.microsoft.com/mssql/server:2017-CU12-ubuntu
  414. port: 1433
  415. cpu: 2
  416. memory: 5Gb
  417. env:
  418. MSSQL_PID: Developer # this is the default edition
  419. ACCEPT_EULA: Y
  420. SA_PASSWORD: sonarqube!1
  421. env:
  422. # No need to clone the full history.
  423. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  424. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  425. CIRRUS_CLONE_DEPTH: 50
  426. matrix:
  427. QA_CATEGORY: Upgrade
  428. gradle_cache:
  429. folder: ~/.gradle/caches
  430. script:
  431. - ./private/cirrus/cirrus-qa.sh mssql2017
  432. cleanup_before_cache_script:
  433. - ./private/cirrus/cleanup-gradle-cache.sh
  434. on_failure:
  435. reports_artifacts:
  436. path: "**/build/reports/**/*"
  437. junit_artifacts:
  438. path: "**/test-results/**/*.xml"
  439. format: junit
  440. test_upgrade_oracle12_task:
  441. depends_on: build
  442. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  443. # this task on your branch
  444. only_if: $CIRRUS_TAG == "nightly-build"
  445. gke_container:
  446. dockerfile: private/docker/Dockerfile-build
  447. builder_image_project: ci-cd-215716
  448. builder_image_name: docker-builder-v1
  449. cluster_name: cirrus-euw3a-cluster
  450. zone: europe-west3-a
  451. namespace: default
  452. cpu: 1.5
  453. memory: 6Gb
  454. additional_containers:
  455. - name: oracle
  456. image: gcr.io/ci-cd-215716/oracle12:0.0.1 # see https://github.com/SonarSource/vms/blob/master/docker/README.md#oracle-12c to build it
  457. port: 1521
  458. cpu: 2
  459. memory: 5Gb
  460. env:
  461. ORACLE_PWD: sonarqube
  462. env:
  463. # No need to clone the full history.
  464. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  465. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  466. CIRRUS_CLONE_DEPTH: 50
  467. matrix:
  468. QA_CATEGORY: Upgrade
  469. gradle_cache:
  470. folder: ~/.gradle/caches
  471. script:
  472. - ./private/cirrus/cirrus-qa.sh oracle12
  473. cleanup_before_cache_script:
  474. - ./private/cirrus/cleanup-gradle-cache.sh
  475. on_failure:
  476. reports_artifacts:
  477. path: "**/build/reports/**/*"
  478. junit_artifacts:
  479. path: "**/test-results/**/*.xml"
  480. format: junit