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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501
  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.*'
  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. QA_CATEGORY: HA
  149. gradle_cache:
  150. folder: ~/.gradle/caches
  151. script:
  152. - ./private/cirrus/cirrus-qa.sh postgres106
  153. cleanup_before_cache_script:
  154. - ./private/cirrus/cleanup-gradle-cache.sh
  155. on_failure:
  156. reports_artifacts:
  157. path: "**/build/reports/**/*"
  158. screenshots_artifacts:
  159. path: "**/build/screenshots/**/*"
  160. junit_artifacts:
  161. path: "**/test-results/**/*.xml"
  162. format: junit
  163. promote_task:
  164. depends_on:
  165. - build
  166. - validate
  167. - qa
  168. only_if: $CIRRUS_BRANCH !=~ "dogfood/.*" && $CIRRUS_BRANCH != "public_master" && $CIRRUS_TAG != "nightly-build"
  169. gke_container:
  170. dockerfile: private/docker/Dockerfile-build
  171. builder_image_project: ci-cd-215716
  172. builder_image_name: docker-builder-v1
  173. cluster_name: cirrus-euw3a-cluster
  174. zone: europe-west3-a
  175. namespace: default
  176. cpu: 1
  177. memory: 1Gb
  178. env:
  179. # No need to clone the full history.
  180. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  181. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  182. CIRRUS_CLONE_DEPTH: 50
  183. script:
  184. - ./private/cirrus/cirrus-promote.sh
  185. test_sql_mysql57_task:
  186. depends_on: build
  187. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  188. # this task on your branch
  189. only_if: $CIRRUS_TAG == "nightly-build"
  190. gke_container:
  191. image: gradle:5.4.1-jdk11
  192. cluster_name: cirrus-euw3a-cluster
  193. zone: europe-west3-a
  194. namespace: default
  195. cpu: 1
  196. memory: 10Gb
  197. additional_containers:
  198. - name: mysql
  199. image: mysql:5.7 # see https://github.com/mysql/mysql-docker
  200. port: 3306
  201. cpu: 1
  202. memory: 1Gb
  203. env:
  204. MYSQL_ROOT_PASSWORD: sonarsource
  205. MYSQL_DATABASE: sonar
  206. MYSQL_USER: sonar
  207. MYSQL_PASSWORD: sonar
  208. gradle_cache:
  209. folder: ~/.gradle/caches
  210. script:
  211. - ./private/cirrus/cirrus-db-unit-test.sh mysql57
  212. cleanup_before_cache_script:
  213. - ./private/cirrus/cleanup-gradle-cache.sh
  214. on_failure:
  215. reports_artifacts:
  216. path: "**/build/reports/**/*"
  217. junit_artifacts:
  218. path: "**/test-results/**/*.xml"
  219. format: junit
  220. test_sql_mssql2017_task:
  221. depends_on: build
  222. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  223. # this task on your branch
  224. only_if: $CIRRUS_TAG == "nightly-build"
  225. gke_container:
  226. image: gradle:5.4.1-jdk11
  227. cluster_name: cirrus-euw3a-cluster
  228. zone: europe-west3-a
  229. namespace: default
  230. cpu: 1
  231. memory: 5Gb
  232. additional_containers:
  233. - name: mssql
  234. image: mcr.microsoft.com/mssql/server:2017-CU12-ubuntu
  235. port: 1433
  236. cpu: 2
  237. memory: 5Gb
  238. env:
  239. MSSQL_PID: Developer # this is the default edition
  240. ACCEPT_EULA: Y
  241. SA_PASSWORD: sonarqube!1
  242. gradle_cache:
  243. folder: ~/.gradle/caches
  244. script:
  245. - ./private/cirrus/cirrus-db-unit-test.sh mssql2017
  246. cleanup_before_cache_script:
  247. - ./private/cirrus/cleanup-gradle-cache.sh
  248. on_failure:
  249. reports_artifacts:
  250. path: "**/build/reports/**/*"
  251. junit_artifacts:
  252. path: "**/test-results/**/*.xml"
  253. format: junit
  254. test_sql_mssql2019_task:
  255. depends_on: build
  256. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  257. # this task on your branch
  258. only_if: $CIRRUS_TAG == "nightly-build"
  259. gke_container:
  260. image: gradle:5.4.1-jdk11
  261. cluster_name: cirrus-euw3a-cluster
  262. zone: europe-west3-a
  263. namespace: default
  264. cpu: 1
  265. memory: 5Gb
  266. additional_containers:
  267. - name: mssql
  268. image: mcr.microsoft.com/mssql/server:2019-CTP2.2-ubuntu
  269. port: 1433
  270. cpu: 2
  271. memory: 5Gb
  272. env:
  273. MSSQL_PID: Developer # this is the default edition
  274. ACCEPT_EULA: Y
  275. SA_PASSWORD: sonarqube!1
  276. gradle_cache:
  277. folder: ~/.gradle/caches
  278. script:
  279. - ./private/cirrus/cirrus-db-unit-test.sh mssql2019
  280. cleanup_before_cache_script:
  281. - ./private/cirrus/cleanup-gradle-cache.sh
  282. on_failure:
  283. reports_artifacts:
  284. path: "**/build/reports/**/*"
  285. junit_artifacts:
  286. path: "**/test-results/**/*.xml"
  287. format: junit
  288. # this is the oldest compatible version of PostgreSQL
  289. test_sql_postgres93_task:
  290. depends_on: build
  291. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  292. # this task on your branch
  293. only_if: $CIRRUS_TAG == "nightly-build"
  294. gke_container:
  295. image: gradle:5.4.1-jdk11
  296. cluster_name: cirrus-euw3a-cluster
  297. zone: europe-west3-a
  298. namespace: default
  299. cpu: 1
  300. memory: 5Gb
  301. additional_containers:
  302. - name: postgres
  303. image: postgres:9.3
  304. port: 5432
  305. cpu: 1
  306. memory: 1Gb
  307. env:
  308. POSTGRES_USER: postgres
  309. POSTGRES_PASSWORD: postgres
  310. gradle_cache:
  311. folder: ~/.gradle/caches
  312. script:
  313. - ./private/cirrus/cirrus-db-unit-test.sh postgres93
  314. cleanup_before_cache_script:
  315. - ./private/cirrus/cleanup-gradle-cache.sh
  316. on_failure:
  317. reports_artifacts:
  318. path: "**/build/reports/**/*"
  319. junit_artifacts:
  320. path: "**/test-results/**/*.xml"
  321. format: junit
  322. test_sql_oracle12_task:
  323. depends_on: build
  324. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  325. # this task on your branch
  326. only_if: $CIRRUS_TAG == "nightly-build"
  327. gke_container:
  328. image: gradle:5.4.1-jdk11
  329. cluster_name: cirrus-euw3a-cluster
  330. zone: europe-west3-a
  331. namespace: default
  332. cpu: 1
  333. memory: 5Gb
  334. additional_containers:
  335. - name: oracle
  336. 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
  337. port: 1521
  338. cpu: 2
  339. memory: 5Gb
  340. env:
  341. ORACLE_PWD: sonarqube
  342. gradle_cache:
  343. folder: ~/.gradle/caches
  344. script:
  345. - ./private/cirrus/cirrus-db-unit-test.sh oracle12
  346. cleanup_before_cache_script:
  347. - ./private/cirrus/cleanup-gradle-cache.sh
  348. on_failure:
  349. reports_artifacts:
  350. path: "**/build/reports/**/*"
  351. junit_artifacts:
  352. path: "**/test-results/**/*.xml"
  353. format: junit
  354. test_upgrade_mysql57_task:
  355. depends_on: build
  356. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  357. # this task on your branch
  358. only_if: $CIRRUS_TAG == "nightly-build"
  359. gke_container:
  360. dockerfile: private/docker/Dockerfile-build
  361. builder_image_project: ci-cd-215716
  362. builder_image_name: docker-builder-v1
  363. cluster_name: cirrus-euw3a-cluster
  364. zone: europe-west3-a
  365. namespace: default
  366. cpu: 1.5
  367. memory: 6Gb
  368. additional_containers:
  369. - name: mysql
  370. image: mysql:5.7 # see https://github.com/mysql/mysql-docker
  371. port: 3306
  372. cpu: 1
  373. memory: 1Gb
  374. env:
  375. MYSQL_ROOT_PASSWORD: sonarsource
  376. MYSQL_DATABASE: sonar
  377. MYSQL_USER: sonar
  378. MYSQL_PASSWORD: sonar
  379. env:
  380. # No need to clone the full history.
  381. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  382. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  383. CIRRUS_CLONE_DEPTH: 50
  384. matrix:
  385. QA_CATEGORY: Upgrade
  386. gradle_cache:
  387. folder: ~/.gradle/caches
  388. script:
  389. - ./private/cirrus/cirrus-qa.sh mysql57
  390. cleanup_before_cache_script:
  391. - ./private/cirrus/cleanup-gradle-cache.sh
  392. on_failure:
  393. reports_artifacts:
  394. path: "**/build/reports/**/*"
  395. junit_artifacts:
  396. path: "**/test-results/**/*.xml"
  397. format: junit
  398. test_upgrade_mssql2017_task:
  399. depends_on: build
  400. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  401. # this task on your branch
  402. only_if: $CIRRUS_TAG == "nightly-build"
  403. gke_container:
  404. dockerfile: private/docker/Dockerfile-build
  405. builder_image_project: ci-cd-215716
  406. builder_image_name: docker-builder-v1
  407. cluster_name: cirrus-euw3a-cluster
  408. zone: europe-west3-a
  409. namespace: default
  410. cpu: 1.5
  411. memory: 6Gb
  412. additional_containers:
  413. - name: mssql
  414. image: mcr.microsoft.com/mssql/server:2017-CU12-ubuntu
  415. port: 1433
  416. cpu: 2
  417. memory: 5Gb
  418. env:
  419. MSSQL_PID: Developer # this is the default edition
  420. ACCEPT_EULA: Y
  421. SA_PASSWORD: sonarqube!1
  422. env:
  423. # No need to clone the full history.
  424. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  425. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  426. CIRRUS_CLONE_DEPTH: 50
  427. matrix:
  428. QA_CATEGORY: Upgrade
  429. gradle_cache:
  430. folder: ~/.gradle/caches
  431. script:
  432. - ./private/cirrus/cirrus-qa.sh mssql2017
  433. cleanup_before_cache_script:
  434. - ./private/cirrus/cleanup-gradle-cache.sh
  435. on_failure:
  436. reports_artifacts:
  437. path: "**/build/reports/**/*"
  438. junit_artifacts:
  439. path: "**/test-results/**/*.xml"
  440. format: junit
  441. test_upgrade_oracle12_task:
  442. depends_on: build
  443. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  444. # this task on your branch
  445. only_if: $CIRRUS_TAG == "nightly-build"
  446. gke_container:
  447. dockerfile: private/docker/Dockerfile-build
  448. builder_image_project: ci-cd-215716
  449. builder_image_name: docker-builder-v1
  450. cluster_name: cirrus-euw3a-cluster
  451. zone: europe-west3-a
  452. namespace: default
  453. cpu: 1.5
  454. memory: 6Gb
  455. additional_containers:
  456. - name: oracle
  457. 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
  458. port: 1521
  459. cpu: 2
  460. memory: 5Gb
  461. env:
  462. ORACLE_PWD: sonarqube
  463. env:
  464. # No need to clone the full history.
  465. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  466. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  467. CIRRUS_CLONE_DEPTH: 50
  468. matrix:
  469. QA_CATEGORY: Upgrade
  470. gradle_cache:
  471. folder: ~/.gradle/caches
  472. script:
  473. - ./private/cirrus/cirrus-qa.sh oracle12
  474. cleanup_before_cache_script:
  475. - ./private/cirrus/cleanup-gradle-cache.sh
  476. on_failure:
  477. reports_artifacts:
  478. path: "**/build/reports/**/*"
  479. junit_artifacts:
  480. path: "**/test-results/**/*.xml"
  481. format: junit