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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  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[ab2de699acd280b1e6ed9b4fa6b34cdbed0fae3a2d18499a727e93616a42393a9168405e5d0f39f0abe1e017559ee82b]
  7. ARTIFACTORY_PRIVATE_PASSWORD: ENCRYPTED[81952f43bfff165a91fb7e2f3207f5c6d428f4de4b041a8a08e8b214ee52ec4586aa8f6dffacbbc2c897058e80ef90f1]
  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[9da84e89286d570d8edb72a117a66754fda80de2a911ca9d4e71acd5377ebcaf62cec3fd2a40b7dca2f982c252a0bb74]
  13. # download licenses for testing commercial editions
  14. GITHUB_TOKEN: ENCRYPTED[bd3d5f7fe5901d9d9f2564caebb52af285262177294eae67ba5f1a3a1df1316449ce6e09c5e1b68eeff37e024e2d167a]
  15. # notifications to burgr
  16. BURGR_URL: ENCRYPTED[06b8fcc9aaa4b495043aa08bc4450b89588902ad9a60cc8525f53d14810aff84558812e4b7eb01131dd64f33916ac941]
  17. BURGR_USERNAME: ENCRYPTED[cf7bfb936025fb763013bbfef0ab5723c0d9b53f135d79af36f9defa933f4b5fc72842bd83a97ce9b614503c1b77e6da]
  18. BURGR_PASSWORD: ENCRYPTED[bc554fc6a06c9f14cc9924cefad0a69e962a905b6d1609fc9357d458b45fc52ac74c960ad9c7382a0691433fa9dcd483]
  19. # ops-jenkins credentials required to trigger docs deppoyment
  20. OPS_JENKINS_URL: ENCRYPTED[00ea2b88c762e374c02a3d29a306cc1cf3ceb4b3d807bda2a601486e0d483fd67a556ef295830231390f45e7d512b54d]
  21. OPS_JENKINS_USERNAME: ENCRYPTED[c778b1483a7ca000dc760ef731c2fbe1dc05a9af38f2a85206cfbcdf649e50715ca447ac291485d513aa9120b0c9abad]
  22. OPS_JENKINS_PASSWORD: ENCRYPTED[a035a2826c3bc971288284a59bd00dda193d8a81e7809e08bf4ec59b68894c16f30095a567e65755240bb7f919c2e0bf]
  23. # DOCS_JOB_TOKEN: token required to launch the deployment of documentation job on ops-jenkins (see private/cirrus/cirrus-trigger-deploy-docs.sh)
  24. DOCS_JOB_TOKEN: ENCRYPTED[7771f76a0fc0038f9929c32d98588963c8dcda6148ba054f57358bc17faa109ac638134c89067f3bacc8933d2fa2c541]
  25. # analysis on next.sonarqube.com
  26. SONARQUBE_NEXT_TOKEN: ENCRYPTED[e3d98fa0ecceb015e9803d47f78c3040f5a710d678a631107635d69f650d4e53ecaf2e2334cc1fe0c47037ec915dcda0]
  27. auto_cancellation: $CIRRUS_BRANCH != 'master' && $CIRRUS_BRANCH !=~ 'branch.*' && $CIRRUS_BRANCH != 'dogfood-on-next'
  28. build_task:
  29. only_if: $CIRRUS_BRANCH !=~ "dogfood/.*" && $CIRRUS_BRANCH != "public_master"
  30. timeout_in: 90m
  31. gke_container:
  32. dockerfile: private/docker/Dockerfile-build
  33. builder_image_project: ci-cd-215716
  34. builder_image_name: docker-builder-v1
  35. cluster_name: cirrus-euw3a-cluster
  36. zone: europe-west3-a
  37. namespace: default
  38. cpu: 3
  39. memory: 10Gb
  40. gradle_cache:
  41. folder: ~/.gradle/caches
  42. env:
  43. CIRRUS_CLONE_DEPTH: 1
  44. script:
  45. - ./private/cirrus/cirrus-build.sh
  46. cleanup_before_cache_script:
  47. - ./private/cirrus/cleanup-gradle-cache.sh
  48. deploy_docs_task:
  49. depends_on: build
  50. only_if: $CIRRUS_BRANCH == 'dogfood-on-next'
  51. gke_container:
  52. dockerfile: private/docker/Dockerfile-build
  53. builder_image_project: ci-cd-215716
  54. builder_image_name: docker-builder-v1
  55. cluster_name: cirrus-euw3a-cluster
  56. zone: europe-west3-a
  57. namespace: default
  58. cpu: 1
  59. memory: 1Gb
  60. env:
  61. CIRRUS_CLONE_DEPTH: 1
  62. script:
  63. - ./private/cirrus/cirrus-trigger-deploy-docs.sh
  64. validate_task:
  65. depends_on: build
  66. only_if: $CIRRUS_BRANCH !=~ "dogfood/.*" && $CIRRUS_BRANCH != "public_master"
  67. timeout_in: 90m
  68. gke_container:
  69. dockerfile: private/docker/Dockerfile-build
  70. builder_image_project: ci-cd-215716
  71. builder_image_name: docker-builder-v1
  72. cluster_name: cirrus-euw3a-cluster
  73. zone: europe-west3-a
  74. namespace: default
  75. cpu: 2.4
  76. memory: 10Gb
  77. additional_containers:
  78. - name: postgres
  79. image: postgres:10.6
  80. port: 5432
  81. cpu: 1
  82. memory: 1Gb
  83. env:
  84. POSTGRES_USER: postgres
  85. POSTGRES_PASSWORD: postgres
  86. gradle_cache:
  87. folder: ~/.gradle/caches
  88. script:
  89. - ./private/cirrus/cirrus-validate.sh postgres106
  90. cleanup_before_cache_script:
  91. - ./private/cirrus/cleanup-gradle-cache.sh
  92. qa_task:
  93. depends_on: build
  94. only_if: $CIRRUS_BRANCH !=~ "dogfood/.*" && $CIRRUS_BRANCH != "public_master"
  95. gke_container:
  96. dockerfile: private/docker/Dockerfile-build
  97. builder_image_project: ci-cd-215716
  98. builder_image_name: docker-builder-v1
  99. cluster_name: cirrus-euw3a-cluster
  100. zone: europe-west3-a
  101. namespace: default
  102. cpu: 2.4
  103. memory: 10Gb
  104. additional_containers:
  105. - name: postgres
  106. image: postgres:10.6
  107. port: 5432
  108. cpu: 1
  109. memory: 1Gb
  110. env:
  111. POSTGRES_USER: postgres
  112. POSTGRES_PASSWORD: postgres
  113. env:
  114. matrix:
  115. QA_CATEGORY: Cat1
  116. QA_CATEGORY: Cat2
  117. QA_CATEGORY: Cat3
  118. QA_CATEGORY: Cat4
  119. QA_CATEGORY: Cat5
  120. QA_CATEGORY: Cat6
  121. QA_CATEGORY: Cat7
  122. QA_CATEGORY: Gov
  123. QA_CATEGORY: Billing
  124. QA_CATEGORY: License
  125. QA_CATEGORY: Branch
  126. CIRRUS_CLONE_DEPTH: 1
  127. gradle_cache:
  128. folder: ~/.gradle/caches
  129. script:
  130. - ./private/cirrus/cirrus-qa.sh postgres106
  131. cleanup_before_cache_script:
  132. - ./private/cirrus/cleanup-gradle-cache.sh
  133. promote_task:
  134. depends_on:
  135. - build
  136. - validate
  137. - qa
  138. only_if: $CIRRUS_BRANCH !=~ "dogfood/.*" && $CIRRUS_BRANCH != "public_master"
  139. gke_container:
  140. dockerfile: private/docker/Dockerfile-build
  141. builder_image_project: ci-cd-215716
  142. builder_image_name: docker-builder-v1
  143. cluster_name: cirrus-euw3a-cluster
  144. zone: europe-west3-a
  145. namespace: default
  146. cpu: 1
  147. memory: 1Gb
  148. env:
  149. CIRRUS_CLONE_DEPTH: 1
  150. script:
  151. - ./private/cirrus/cirrus-promote.sh
  152. db_unit_mysql57_task:
  153. depends_on: build
  154. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  155. # this task on your branch
  156. only_if: $CIRRUS_BRANCH == "master"
  157. gke_container:
  158. image: gradle:4.10.1-jdk8
  159. cluster_name: cirrus-euw3a-cluster
  160. zone: europe-west3-a
  161. namespace: default
  162. cpu: 1
  163. memory: 10Gb
  164. additional_containers:
  165. - name: mysql
  166. image: mysql:5.7 # see https://github.com/mysql/mysql-docker
  167. port: 3306
  168. cpu: 1
  169. memory: 1Gb
  170. env:
  171. MYSQL_ROOT_PASSWORD: sonarsource
  172. MYSQL_DATABASE: sonar
  173. MYSQL_USER: sonar
  174. MYSQL_PASSWORD: sonar
  175. gradle_cache:
  176. folder: ~/.gradle/caches
  177. script:
  178. - ./private/cirrus/cirrus-db-unit-test.sh mysql57
  179. cleanup_before_cache_script:
  180. - ./private/cirrus/cleanup-gradle-cache.sh
  181. db_mssql2017_task:
  182. depends_on: build
  183. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  184. # this task on your branch
  185. only_if: $CIRRUS_BRANCH == "master"
  186. gke_container:
  187. image: gradle:4.10.1-jdk8
  188. cluster_name: cirrus-euw3a-cluster
  189. zone: europe-west3-a
  190. namespace: default
  191. cpu: 1
  192. memory: 5Gb
  193. additional_containers:
  194. - name: mssql
  195. image: mcr.microsoft.com/mssql/server:2017-CU12-ubuntu
  196. port: 1433
  197. cpu: 2
  198. memory: 5Gb
  199. env:
  200. MSSQL_PID: Developer # this is the default edition
  201. ACCEPT_EULA: Y
  202. SA_PASSWORD: sonarqube!1
  203. gradle_cache:
  204. folder: ~/.gradle/caches
  205. script:
  206. - ./private/cirrus/cirrus-db-unit-test.sh mssql2017
  207. cleanup_before_cache_script:
  208. - ./private/cirrus/cleanup-gradle-cache.sh
  209. db_mssql2019_task:
  210. depends_on: build
  211. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  212. # this task on your branch
  213. only_if: $CIRRUS_BRANCH == "master"
  214. gke_container:
  215. image: gradle:4.10.1-jdk8
  216. cluster_name: cirrus-euw3a-cluster
  217. zone: europe-west3-a
  218. namespace: default
  219. cpu: 1
  220. memory: 5Gb
  221. additional_containers:
  222. - name: mssql
  223. image: mcr.microsoft.com/mssql/server:2019-CTP2.2-ubuntu
  224. port: 1433
  225. cpu: 2
  226. memory: 5Gb
  227. env:
  228. MSSQL_PID: Developer # this is the default edition
  229. ACCEPT_EULA: Y
  230. SA_PASSWORD: sonarqube!1
  231. gradle_cache:
  232. folder: ~/.gradle/caches
  233. script:
  234. - ./private/cirrus/cirrus-db-unit-test.sh mssql2019
  235. cleanup_before_cache_script:
  236. - ./private/cirrus/cleanup-gradle-cache.sh
  237. # this is the oldest compatible version of PostgreSQL
  238. db_postgres93_task:
  239. depends_on: build
  240. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  241. # this task on your branch
  242. only_if: $CIRRUS_BRANCH == "master"
  243. gke_container:
  244. image: gradle:4.10.1-jdk8
  245. cluster_name: cirrus-euw3a-cluster
  246. zone: europe-west3-a
  247. namespace: default
  248. cpu: 1
  249. memory: 5Gb
  250. additional_containers:
  251. - name: postgres
  252. image: postgres:9.3
  253. port: 5432
  254. cpu: 1
  255. memory: 1Gb
  256. env:
  257. POSTGRES_USER: postgres
  258. POSTGRES_PASSWORD: postgres
  259. gradle_cache:
  260. folder: ~/.gradle/caches
  261. script:
  262. - ./private/cirrus/cirrus-db-unit-test.sh postgres93
  263. cleanup_before_cache_script:
  264. - ./private/cirrus/cleanup-gradle-cache.sh
  265. db_oracle12_task:
  266. depends_on: build
  267. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  268. # this task on your branch
  269. only_if: $CIRRUS_BRANCH == "master"
  270. gke_container:
  271. image: gradle:4.10.1-jdk8
  272. cluster_name: cirrus-euw3a-cluster
  273. zone: europe-west3-a
  274. namespace: default
  275. cpu: 1
  276. memory: 5Gb
  277. additional_containers:
  278. - name: oracle
  279. 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
  280. port: 1521
  281. cpu: 2
  282. memory: 5Gb
  283. env:
  284. ORACLE_PWD: sonarqube
  285. gradle_cache:
  286. folder: ~/.gradle/caches
  287. script:
  288. - ./private/cirrus/cirrus-db-unit-test.sh oracle12
  289. cleanup_before_cache_script:
  290. - ./private/cirrus/cleanup-gradle-cache.sh