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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479
  1. # content of service-account-credentials.json, used to access to Google Cloud Platform
  2. gcp_credentials: ENCRYPTED[ec86f04ec57d8a7f29ad6b84b41262c9d576abc533485754fdfdb24db103adf0d33ba4ba89a57d29d2549790be5abc72]
  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[!f272985ea5b49b3cf9c414b98de6a8e9096be47bfcee52f33311ba3131a2af637c1b956f49585b7757dd84b7c030233a!]
  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. # analysis on next.sonarqube.com
  22. SONARQUBE_NEXT_TOKEN: ENCRYPTED[e3d98fa0ecceb015e9803d47f78c3040f5a710d678a631107635d69f650d4e53ecaf2e2334cc1fe0c47037ec915dcda0]
  23. # to trigger docs deployment
  24. BUDDY_WORKS_TOKEN: ENCRYPTED[9ba648f3167b6f0c0befbba2f816bfffd53260fef06fb0fe8bba0a19ae4808c8b1567c5dcee2a2ee5299a5969058f495]
  25. auto_cancellation: $CIRRUS_BRANCH != 'master' && $CIRRUS_BRANCH !=~ 'branch.*'
  26. task_only_nightly_depending_on_build_template: &TASK_ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
  27. depends_on: build
  28. # Comment the following line and commit with message "DO NOT MERGE" in order to run
  29. # this task on your branch
  30. only_if: $CIRRUS_BRANCH == "branch-nightly-build"
  31. task_only_default_depending_on_build_template: &TASK_ONLY_DEFAUT_DEPENDING_ON_BUILD_TEMPLATE
  32. depends_on: build
  33. only_if: >-
  34. $CIRRUS_BRANCH !=~ "dogfood/.*" &&
  35. $CIRRUS_BRANCH != "public_master" &&
  36. $CIRRUS_BRANCH != "branch-nightly-build" &&
  37. $CIRRUS_CRON == ""
  38. docker_build_container_template: &GKE_CONTAINER_TEMPLATE
  39. dockerfile: private/docker/Dockerfile-build
  40. builder_image_project: sonarqube-team
  41. builder_image_name: docker-builder-v20200915
  42. cluster_name: cirrus-ci-cluster
  43. zone: us-central1-a
  44. namespace: default
  45. cpu: 1
  46. memory: 1Gb
  47. oracle_additional_container_template: &ORACLE_ADDITIONAL_CONTAINER_TEMPLATE
  48. name: oracle
  49. image: us.gcr.io/sonarqube-team/oracle12:0.0.1 # see https://github.com/SonarSource/vms/blob/master/docker/README.md#oracle-12c to build it
  50. port: 1521
  51. cpu: 2
  52. memory: 5Gb
  53. env:
  54. ORACLE_PWD: sonarqube
  55. postgres_additional_container_template: &POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  56. name: postgres
  57. image: postgres:12.1
  58. port: 5432
  59. cpu: 1
  60. memory: 1Gb
  61. env:
  62. POSTGRES_USER: postgres
  63. POSTGRES_PASSWORD: postgres
  64. reports_junit_on_failure_template: &REPORTS_JUNIT_ON_FAILURE_TEMPLATE
  65. reports_artifacts:
  66. path: "**/build/reports/**/*"
  67. junit_artifacts:
  68. path: "**/test-results/**/*.xml"
  69. format: junit
  70. screenshots_on_failure_template: &REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
  71. <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
  72. screenshots_artifacts:
  73. path: "**/build/screenshots/**/*"
  74. build_task:
  75. only_if: >-
  76. $CIRRUS_BRANCH !=~ "dogfood/.*" &&
  77. $CIRRUS_BRANCH != "public_master" &&
  78. $CIRRUS_CRON == ""
  79. timeout_in: 90m
  80. gke_container:
  81. <<: *GKE_CONTAINER_TEMPLATE
  82. cpu: 4
  83. memory: 7Gb
  84. env:
  85. # No need to clone the full history.
  86. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  87. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  88. CIRRUS_CLONE_DEPTH: 50
  89. script:
  90. - ./private/cirrus/cirrus-build.sh
  91. on_failure:
  92. reports_artifacts:
  93. path: "**/build/reports/**/*"
  94. deploy_docs_task:
  95. depends_on: build
  96. only_if: $CIRRUS_BRANCH == 'dogfood-on-next'
  97. gke_container:
  98. <<: *GKE_CONTAINER_TEMPLATE
  99. env:
  100. # No need to clone the full history.
  101. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  102. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  103. CIRRUS_CLONE_DEPTH: 50
  104. script:
  105. - ./private/cirrus/cirrus-trigger-deploy-docs.sh
  106. validate_task:
  107. <<: *TASK_ONLY_DEFAUT_DEPENDING_ON_BUILD_TEMPLATE
  108. timeout_in: 90m
  109. gke_container:
  110. <<: *GKE_CONTAINER_TEMPLATE
  111. cpu: 2
  112. memory: 12Gb
  113. additional_containers:
  114. - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  115. script:
  116. - ./private/cirrus/cirrus-validate.sh postgres106
  117. on_failure:
  118. <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
  119. qa_task:
  120. <<: *TASK_ONLY_DEFAUT_DEPENDING_ON_BUILD_TEMPLATE
  121. gke_container:
  122. <<: *GKE_CONTAINER_TEMPLATE
  123. cpu: 3
  124. memory: 7Gb
  125. additional_containers:
  126. - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  127. env:
  128. # No need to clone the full history.
  129. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  130. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  131. CIRRUS_CLONE_DEPTH: 50
  132. matrix:
  133. - QA_CATEGORY: Cat1
  134. - QA_CATEGORY: Cat2
  135. - QA_CATEGORY: Cat3
  136. - QA_CATEGORY: Cat4
  137. - QA_CATEGORY: Cat5
  138. - QA_CATEGORY: Cat6
  139. - QA_CATEGORY: Cat7
  140. - QA_CATEGORY: Authentication
  141. - QA_CATEGORY: Gov
  142. - QA_CATEGORY: Dev
  143. - QA_CATEGORY: License
  144. - QA_CATEGORY: Branch
  145. - QA_CATEGORY: Upgrade
  146. script:
  147. - ./private/cirrus/cirrus-qa.sh postgres106
  148. on_failure:
  149. <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
  150. qa_bitbucket_task:
  151. <<: *TASK_ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
  152. gke_container:
  153. <<: *GKE_CONTAINER_TEMPLATE
  154. cpu: 3
  155. memory: 7Gb
  156. additional_containers:
  157. - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  158. maven_cache:
  159. folder: ~/.m2
  160. env:
  161. # No need to clone the full history.
  162. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  163. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  164. CIRRUS_CLONE_DEPTH: 50
  165. QA_CATEGORY: BITBUCKET
  166. matrix:
  167. - name: qa_bitbucket_5.16.11
  168. bitbucket_background_script: ./private/cirrus/cirrus-start-bitbucket.sh 5.16.11
  169. - name: qa_bitbucket_latest
  170. bitbucket_background_script: ./private/cirrus/cirrus-start-bitbucket.sh LATEST
  171. wait_for_bitbucket_to_boot_script: secs=3600; endTime=$(( $(date +%s) + secs )); while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' localhost:7990/bitbucket/status)" != "200" ]] || [ $(date +%s) -gt $endTime ]; do sleep 5; done
  172. script:
  173. - ./private/cirrus/cirrus-qa.sh postgres106
  174. on_failure:
  175. <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
  176. qa_ha_task:
  177. <<: *TASK_ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
  178. gke_container:
  179. <<: *GKE_CONTAINER_TEMPLATE
  180. cpu: 2.4
  181. memory: 10Gb
  182. additional_containers:
  183. - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  184. env:
  185. # No need to clone the full history.
  186. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  187. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  188. CIRRUS_CLONE_DEPTH: 50
  189. QA_CATEGORY: HA
  190. gradle_cache:
  191. folder: ~/.gradle/caches
  192. script:
  193. - ./private/cirrus/cirrus-qa.sh postgres106
  194. cleanup_before_cache_script:
  195. - ./private/cirrus/cleanup-gradle-cache.sh
  196. on_failure:
  197. <<: *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
  198. # GitLab QA is executed in a dedicated task in order to not slow down the pipeline, as a GitLab on-prem server docker image is required.
  199. qa_gitlab_task:
  200. <<: *TASK_ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
  201. gke_container:
  202. <<: *GKE_CONTAINER_TEMPLATE
  203. cpu: 2.4
  204. memory: 5Gb
  205. additional_containers:
  206. - name: gitlab
  207. image: gitlab/gitlab-ce:latest
  208. port: 8080:80
  209. cpu: 1
  210. memory: 5Gb
  211. env:
  212. # Creating a personnal access token from rails console for test purpuse (can't do through gitlab REST API)
  213. GITLAB_POST_RECONFIGURE_SCRIPT: "gitlab-rails runner \"
  214. token = User.find_by_username('root').personal_access_tokens.create(scopes: [:api], name: 'token');
  215. token.set_token('token-here-456');
  216. token.save!;
  217. token_read = User.find_by_username('root').personal_access_tokens.create(scopes: [:read_api], name: 'token_read');
  218. token_read.set_token('token-read-123');
  219. token_read.save!;
  220. \""
  221. env:
  222. # No need to clone the full history.
  223. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  224. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  225. CIRRUS_CLONE_DEPTH: 50
  226. QA_CATEGORY: AZURE
  227. gradle_cache:
  228. folder: ~/.gradle/caches
  229. script:
  230. - ./private/cirrus/cirrus-qa.sh h2
  231. cleanup_before_cache_script:
  232. - ./private/cirrus/cleanup-gradle-cache.sh
  233. on_failure:
  234. reports_artifacts:
  235. path: "**/build/reports/**/*"
  236. screenshots_artifacts:
  237. path: "**/build/screenshots/**/*"
  238. junit_artifacts:
  239. path: "**/test-results/**/*.xml"
  240. format: junit
  241. # Azure QA is executed in a dedicated task in order to not slow down the pipeline.
  242. qa_azure_task:
  243. <<: *TASK_ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
  244. gke_container:
  245. <<: *GKE_CONTAINER_TEMPLATE
  246. cpu: 2.4
  247. memory: 5Gb
  248. env:
  249. # No need to clone the full history.
  250. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  251. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  252. CIRRUS_CLONE_DEPTH: 50
  253. QA_CATEGORY: AZURE
  254. gradle_cache:
  255. folder: ~/.gradle/caches
  256. script:
  257. - ./private/cirrus/cirrus-qa.sh h2
  258. cleanup_before_cache_script:
  259. - ./private/cirrus/cleanup-gradle-cache.sh
  260. on_failure:
  261. reports_artifacts:
  262. path: "**/build/reports/**/*"
  263. screenshots_artifacts:
  264. path: "**/build/screenshots/**/*"
  265. junit_artifacts:
  266. path: "**/test-results/**/*.xml"
  267. format: junit
  268. # SAML QA is executed in a dedicated task in order to not slow down the pipeline, as a Keycloak server docker image is required.
  269. qa_saml_task:
  270. <<: *TASK_ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
  271. gke_container:
  272. <<: *GKE_CONTAINER_TEMPLATE
  273. cpu: 2.4
  274. memory: 10Gb
  275. additional_containers:
  276. - name: keycloak
  277. image: jboss/keycloak:7.0.0
  278. port: 8080
  279. cpu: 1
  280. memory: 1Gb
  281. env:
  282. KEYCLOAK_USER: admin
  283. KEYCLOAK_PASSWORD: admin
  284. env:
  285. # No need to clone the full history.
  286. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  287. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  288. CIRRUS_CLONE_DEPTH: 50
  289. QA_CATEGORY: SAML
  290. gradle_cache:
  291. folder: ~/.gradle/caches
  292. script:
  293. - ./private/cirrus/cirrus-qa.sh h2
  294. cleanup_before_cache_script:
  295. - ./private/cirrus/cleanup-gradle-cache.sh
  296. on_failure:
  297. <<: *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
  298. # LDAP QA is executed in a dedicated task in order to not slow down the pipeline, as a LDAP server and SonarQube server are re-started on each test.
  299. qa_ldap_task:
  300. <<: *TASK_ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
  301. gke_container:
  302. <<: *GKE_CONTAINER_TEMPLATE
  303. cpu: 2.4
  304. memory: 10Gb
  305. env:
  306. # No need to clone the full history.
  307. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  308. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  309. CIRRUS_CLONE_DEPTH: 50
  310. QA_CATEGORY: LDAP
  311. gradle_cache:
  312. folder: ~/.gradle/caches
  313. script:
  314. - ./private/cirrus/cirrus-qa.sh h2
  315. cleanup_before_cache_script:
  316. - ./private/cirrus/cleanup-gradle-cache.sh
  317. on_failure:
  318. <<: *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
  319. promote_task:
  320. <<: *TASK_ONLY_DEFAUT_DEPENDING_ON_BUILD_TEMPLATE
  321. depends_on:
  322. - build
  323. - validate
  324. - qa
  325. - qa_saml
  326. - qa_ldap
  327. gke_container:
  328. <<: *GKE_CONTAINER_TEMPLATE
  329. stateful: true
  330. env:
  331. # No need to clone the full history.
  332. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  333. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  334. CIRRUS_CLONE_DEPTH: 50
  335. script:
  336. - ./private/cirrus/cirrus-promote.sh
  337. sql_mssql2017_task:
  338. <<: *TASK_ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
  339. gke_container:
  340. <<: *GKE_CONTAINER_TEMPLATE
  341. memory: 5Gb
  342. additional_containers:
  343. - name: mssql
  344. image: mcr.microsoft.com/mssql/server:2017-GA-ubuntu
  345. port: 1433
  346. cpu: 2
  347. memory: 5Gb
  348. env:
  349. MSSQL_PID: Developer # this is the default edition
  350. ACCEPT_EULA: Y
  351. SA_PASSWORD: sonarqube!1
  352. script:
  353. - ./private/cirrus/cirrus-db-unit-test.sh mssql2017
  354. on_failure:
  355. <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
  356. # this is the oldest compatible version of PostgreSQL
  357. sql_postgres93_task:
  358. <<: *TASK_ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
  359. gke_container:
  360. <<: *GKE_CONTAINER_TEMPLATE
  361. memory: 5Gb
  362. additional_containers:
  363. - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  364. image: postgres:9.3
  365. script:
  366. - ./private/cirrus/cirrus-db-unit-test.sh postgres93
  367. on_failure:
  368. <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
  369. sql_oracle12_task:
  370. <<: *TASK_ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
  371. gke_container:
  372. <<: *GKE_CONTAINER_TEMPLATE
  373. memory: 5Gb
  374. additional_containers:
  375. - <<: *ORACLE_ADDITIONAL_CONTAINER_TEMPLATE
  376. script:
  377. - ./private/cirrus/cirrus-db-unit-test.sh oracle12
  378. on_failure:
  379. <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
  380. upgd_mssql2017_task:
  381. <<: *TASK_ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
  382. gke_container:
  383. <<: *GKE_CONTAINER_TEMPLATE
  384. cpu: 1.5
  385. memory: 6Gb
  386. additional_containers:
  387. - name: mssql
  388. image: mcr.microsoft.com/mssql/server:2017-GA-ubuntu
  389. port: 1433
  390. cpu: 2
  391. memory: 5Gb
  392. env:
  393. MSSQL_PID: Developer # this is the default edition
  394. ACCEPT_EULA: Y
  395. SA_PASSWORD: sonarqube!1
  396. env:
  397. # No need to clone the full history.
  398. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  399. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  400. CIRRUS_CLONE_DEPTH: 50
  401. matrix:
  402. QA_CATEGORY: Upgrade
  403. script:
  404. - ./private/cirrus/cirrus-qa.sh mssql2017
  405. on_failure:
  406. <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
  407. upgd_oracle12_task:
  408. <<: *TASK_ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
  409. gke_container:
  410. <<: *GKE_CONTAINER_TEMPLATE
  411. cpu: 1.5
  412. memory: 6Gb
  413. additional_containers:
  414. - <<: *ORACLE_ADDITIONAL_CONTAINER_TEMPLATE
  415. env:
  416. # No need to clone the full history.
  417. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  418. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  419. CIRRUS_CLONE_DEPTH: 50
  420. matrix:
  421. QA_CATEGORY: Upgrade
  422. script:
  423. - ./private/cirrus/cirrus-qa.sh oracle12
  424. on_failure:
  425. <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
  426. # Software Composition Analysis (SCA): check potential vulnerabilities in dependencies.
  427. # Note that license compliance of dependencies is not checked for now.
  428. owasp_check_task:
  429. only_if: >-
  430. $CIRRUS_CRON == "nightly" ||
  431. $CIRRUS_CRON == "weekly-latest" ||
  432. $CIRRUS_CRON == "weekly-lts" ||
  433. changesInclude('private/owasp/*.xml')
  434. timeout_in: 30m
  435. gke_container:
  436. <<: *GKE_CONTAINER_TEMPLATE
  437. cpu: 1.7
  438. memory: 4Gb
  439. environment:
  440. # No need to clone the full history.
  441. # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
  442. # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
  443. CIRRUS_CLONE_DEPTH: 50
  444. SLACK_WEBHOOK_SQ: ENCRYPTED[dec8e4350cbea3b94d63098558bcb3ae9e79b71c2b6286fcfb9eb80c0953b6448b10f7271b07b5e75e52f362c25d7a8f]
  445. script:
  446. - gradle dependencyCheckAggregate
  447. on_failure:
  448. slack_notification_script:
  449. - ./private/cirrus/cirrus-owasp-notification.sh
  450. always:
  451. reports_artifacts:
  452. path: "build/reports/*"