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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  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-uscentral1a-cluster
  38. zone: us-central1-a
  39. namespace: default
  40. cpu: 1.7
  41. memory: 5Gb
  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-uscentral1a-cluster
  64. zone: us-central1-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_BRANCH != "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-uscentral1a-cluster
  84. zone: us-central1-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_BRANCH != "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-uscentral1a-cluster
  117. zone: us-central1-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: License
  145. QA_CATEGORY: Branch
  146. QA_CATEGORY: Upgrade
  147. QA_CATEGORY: HA
  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_BRANCH != "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-uscentral1a-cluster
  173. zone: us-central1-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. sql_mssql2017_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_BRANCH == "nightly-build"
  189. gke_container:
  190. dockerfile: private/docker/Dockerfile-build
  191. builder_image_project: ci-cd-215716
  192. builder_image_name: docker-builder-v1
  193. cluster_name: cirrus-uscentral1a-cluster
  194. zone: us-central1-a
  195. namespace: default
  196. cpu: 1
  197. memory: 5Gb
  198. additional_containers:
  199. - name: mssql
  200. image: mcr.microsoft.com/mssql/server:2017-GA-ubuntu
  201. port: 1433
  202. cpu: 2
  203. memory: 5Gb
  204. env:
  205. MSSQL_PID: Developer # this is the default edition
  206. ACCEPT_EULA: Y
  207. SA_PASSWORD: sonarqube!1
  208. gradle_cache:
  209. folder: ~/.gradle/caches
  210. script:
  211. - ./private/cirrus/cirrus-db-unit-test.sh mssql2017
  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. # this is the oldest compatible version of PostgreSQL
  221. sql_postgres93_task:
  222. depends_on: build
  223. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  224. # this task on your branch
  225. only_if: $CIRRUS_BRANCH == "nightly-build"
  226. gke_container:
  227. dockerfile: private/docker/Dockerfile-build
  228. builder_image_project: ci-cd-215716
  229. builder_image_name: docker-builder-v1
  230. cluster_name: cirrus-uscentral1a-cluster
  231. zone: us-central1-a
  232. namespace: default
  233. cpu: 1
  234. memory: 5Gb
  235. additional_containers:
  236. - name: postgres
  237. image: postgres:9.3
  238. port: 5432
  239. cpu: 1
  240. memory: 1Gb
  241. env:
  242. POSTGRES_USER: postgres
  243. POSTGRES_PASSWORD: postgres
  244. gradle_cache:
  245. folder: ~/.gradle/caches
  246. script:
  247. - ./private/cirrus/cirrus-db-unit-test.sh postgres93
  248. cleanup_before_cache_script:
  249. - ./private/cirrus/cleanup-gradle-cache.sh
  250. on_failure:
  251. reports_artifacts:
  252. path: "**/build/reports/**/*"
  253. junit_artifacts:
  254. path: "**/test-results/**/*.xml"
  255. format: junit
  256. sql_oracle12_task:
  257. depends_on: build
  258. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  259. # this task on your branch
  260. only_if: $CIRRUS_BRANCH == "nightly-build"
  261. gke_container:
  262. dockerfile: private/docker/Dockerfile-build
  263. builder_image_project: ci-cd-215716
  264. builder_image_name: docker-builder-v1
  265. cluster_name: cirrus-uscentral1a-cluster
  266. zone: us-central1-a
  267. namespace: default
  268. cpu: 1
  269. memory: 5Gb
  270. additional_containers:
  271. - name: oracle
  272. 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
  273. port: 1521
  274. cpu: 2
  275. memory: 5Gb
  276. env:
  277. ORACLE_PWD: sonarqube
  278. gradle_cache:
  279. folder: ~/.gradle/caches
  280. script:
  281. - ./private/cirrus/cirrus-db-unit-test.sh oracle12
  282. cleanup_before_cache_script:
  283. - ./private/cirrus/cleanup-gradle-cache.sh
  284. on_failure:
  285. reports_artifacts:
  286. path: "**/build/reports/**/*"
  287. junit_artifacts:
  288. path: "**/test-results/**/*.xml"
  289. format: junit
  290. upgd_mssql2017_task:
  291. depends_on: build
  292. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  293. # this task on your branch
  294. only_if: $CIRRUS_BRANCH == "nightly-build"
  295. gke_container:
  296. dockerfile: private/docker/Dockerfile-build
  297. builder_image_project: ci-cd-215716
  298. builder_image_name: docker-builder-v1
  299. cluster_name: cirrus-uscentral1a-cluster
  300. zone: us-central1-a
  301. namespace: default
  302. cpu: 1.5
  303. memory: 6Gb
  304. additional_containers:
  305. - name: mssql
  306. image: mcr.microsoft.com/mssql/server:2017-GA-ubuntu
  307. port: 1433
  308. cpu: 2
  309. memory: 5Gb
  310. env:
  311. MSSQL_PID: Developer # this is the default edition
  312. ACCEPT_EULA: Y
  313. SA_PASSWORD: sonarqube!1
  314. env:
  315. # No need to clone the full history.
  316. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  317. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  318. CIRRUS_CLONE_DEPTH: 50
  319. matrix:
  320. QA_CATEGORY: Upgrade
  321. gradle_cache:
  322. folder: ~/.gradle/caches
  323. script:
  324. - ./private/cirrus/cirrus-qa.sh mssql2017
  325. cleanup_before_cache_script:
  326. - ./private/cirrus/cleanup-gradle-cache.sh
  327. on_failure:
  328. reports_artifacts:
  329. path: "**/build/reports/**/*"
  330. junit_artifacts:
  331. path: "**/test-results/**/*.xml"
  332. format: junit
  333. upgd_oracle12_task:
  334. depends_on: build
  335. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  336. # this task on your branch
  337. only_if: $CIRRUS_BRANCH == "nightly-build"
  338. gke_container:
  339. dockerfile: private/docker/Dockerfile-build
  340. builder_image_project: ci-cd-215716
  341. builder_image_name: docker-builder-v1
  342. cluster_name: cirrus-uscentral1a-cluster
  343. zone: us-central1-a
  344. namespace: default
  345. cpu: 1.5
  346. memory: 6Gb
  347. additional_containers:
  348. - name: oracle
  349. 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
  350. port: 1521
  351. cpu: 2
  352. memory: 5Gb
  353. env:
  354. ORACLE_PWD: sonarqube
  355. env:
  356. # No need to clone the full history.
  357. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  358. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  359. CIRRUS_CLONE_DEPTH: 50
  360. matrix:
  361. QA_CATEGORY: Upgrade
  362. gradle_cache:
  363. folder: ~/.gradle/caches
  364. script:
  365. - ./private/cirrus/cirrus-qa.sh oracle12
  366. cleanup_before_cache_script:
  367. - ./private/cirrus/cleanup-gradle-cache.sh
  368. on_failure:
  369. reports_artifacts:
  370. path: "**/build/reports/**/*"
  371. junit_artifacts:
  372. path: "**/test-results/**/*.xml"
  373. format: junit