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

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118
  1. env:
  2. GRADLE_OPTS: -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"
  3. # to be replaced by other credentials
  4. ARTIFACTORY_PRIVATE_USERNAME: vault-${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-private-reader
  5. ARTIFACTORY_PRIVATE_PASSWORD: VAULT[development/artifactory/token/${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-private-reader access_token]
  6. ARTIFACTORY_DEPLOY_USERNAME: vault-${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-qa-deployer
  7. ARTIFACTORY_DEPLOY_PASSWORD: VAULT[development/artifactory/token/${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-qa-deployer access_token]
  8. ARTIFACTORY_ACCESS_TOKEN: VAULT[development/artifactory/token/${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-private-reader access_token]
  9. ARTIFACTORY_PROMOTE_ACCESS_TOKEN: VAULT[development/artifactory/token/${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-promoter access_token]
  10. ARTIFACTORY_URL: "https://repox.jfrog.io/repox"
  11. ARTIFACTORY_DEPLOY_REPO: "sonarsource-public-qa"
  12. ARTIFACTORY_DEPLOY_REPO_PRIVATE: "sonarsource-private-qa"
  13. # download licenses for testing commercial editions
  14. GITHUB_TOKEN: VAULT[development/github/token/licenses-ro token]
  15. # notifications to burgr
  16. BURGR_URL: VAULT[development/kv/data/burgr data.url]
  17. BURGR_USERNAME: VAULT[development/kv/data/burgr data.cirrus_username]
  18. BURGR_PASSWORD: VAULT[development/kv/data/burgr data.cirrus_password]
  19. # analysis on next.sonarqube.com
  20. SONARQUBE_NEXT_TOKEN: VAULT[development/kv/data/next data.token]
  21. # to trigger docs deployment
  22. ELASTIC_PWD: VAULT[development/team/sonarqube/kv/data/elasticsearch-cloud data.password]
  23. DATADOG_APIKEY: VAULT[development/team/sonarqube/kv/data/sq-datadog data.apikey]
  24. CIRRUS_LOG_TIMESTAMP: true
  25. BRANCH_MAIN: "master"
  26. BRANCH_NIGHTLY: "branch-nightly-build"
  27. BRANCH_PATTERN_MAINTENANCE: "branch-.*"
  28. BRANCH_PATTERN_PUBLIC: "public_.*"
  29. CRON_DATABASE_JOB_NAME: "master-weekly"
  30. GRADLE_ENTERPRISE_USERNAME: VAULT[development/team/sonarqube/kv/data/gradle-enterprise data.username]
  31. GRADLE_ENTERPRISE_PASSWORD: VAULT[development/team/sonarqube/kv/data/gradle-enterprise data.password]
  32. GRADLE_ENTERPRISE_URL: VAULT[development/team/sonarqube/kv/data/gradle-enterprise data.url]
  33. GRADLE_ENTERPRISE_KEY: VAULT[development/team/sonarqube/kv/data/gradle-enterprise data.access-key]
  34. bitbucket_cloud_environment_template: &BITBUCKET_CLOUD_ENVIRONMENT_VARIABLES
  35. BBC_CLIENT_ID: VAULT[development/team/sonarqube/kv/data/bitbucket-cloud data.client_id]
  36. BBC_CLIENT_SECRET: VAULT[development/team/sonarqube/kv/data/bitbucket-cloud data.client_secret]
  37. BBC_USERNAME: VAULT[development/kv/data/bitbucket/sonarqube-its data.username]
  38. BBC_READ_REPOS_APP_PASSWORD: VAULT[development/kv/data/bitbucket/sonarqube-its data.password]
  39. gitlab_cloud_environment_template: &GITLAB_CLOUD_ENVIRONMENT_VARIABLES
  40. GITLAB_API_TOKEN: VAULT[development/team/sonarqube/kv/data/gitlab-cloud data.api_token]
  41. GITLAB_READ_ONLY_TOKEN: VAULT[development/team/sonarqube/kv/data/gitlab-cloud data.api_token_ro]
  42. GITLAB_ADMIN_USERNAME: VAULT[development/team/sonarqube/kv/data/gitlab-cloud data.username]
  43. GITLAB_ADMIN_PASSWORD: VAULT[development/team/sonarqube/kv/data/gitlab-cloud data.password]
  44. azure_cloud_environment_template: &AZURE_CLOUD_ENVIRONMENT_VARIABLES
  45. AZURE_USERNAME_LOGIN: VAULT[development/team/sonarqube/kv/data/azure-instance data.username]
  46. AZURE_CODE_READ_AND_WRITE_TOKEN: VAULT[development/team/sonarqube/kv/data/azure-instance data.token_code_read_write]
  47. AZURE_FULL_ACCESS_TOKEN: VAULT[development/team/sonarqube/kv/data/azure-instance data.token_full_access]
  48. auto_cancellation: $CIRRUS_BRANCH != $BRANCH_MAIN && $CIRRUS_BRANCH !=~ $BRANCH_PATTERN_MAINTENANCE
  49. cache_dependencies_dependant_task_template:
  50. &CACHE_DEPENDENCIES_DEPENDANT_TASK_TEMPLATE
  51. depends_on: cache_dependencies
  52. build_dependant_task_template: &BUILD_DEPENDANT_TASK_TEMPLATE
  53. depends_on: build
  54. master_task_template: &IS_BRANCH_MASTER
  55. $CIRRUS_BRANCH == $BRANCH_MAIN
  56. master_and_nightly_task_template: &IS_BRANCH_MASTER_OR_NIGHTLY
  57. $CIRRUS_BRANCH == $BRANCH_NIGHTLY || $CIRRUS_BRANCH == $BRANCH_MAIN
  58. master_or_nightly_or_maintenance_task_template: &IS_BRANCH_MASTER_OR_NIGHTLY_OR_MAINTENANCE
  59. $CIRRUS_BRANCH == $BRANCH_NIGHTLY || $CIRRUS_BRANCH == $BRANCH_MAIN || $CIRRUS_BRANCH =~ $BRANCH_PATTERN_MAINTENANCE
  60. is_weekly_job: &IS_WEEKLY_JOB
  61. $CIRRUS_CRON == $CRON_DATABASE_JOB_NAME
  62. is_old_commit: &IS_OLD_COMMIT
  63. $CIRRUS_CRON == $CRON_DATABASE_JOB_NAME || $CIRRUS_BRANCH == $BRANCH_NIGHTLY
  64. is_branch_public: &IS_BRANCH_PUBLIC
  65. $CIRRUS_BRANCH =~ $BRANCH_PATTERN_PUBLIC
  66. is_old_commit_or_public_branch: &IS_OLD_COMMIT_OR_BRANCH_PUBLIC
  67. $CIRRUS_CRON == $CRON_DATABASE_JOB_NAME || $CIRRUS_BRANCH == $BRANCH_NIGHTLY || $CIRRUS_BRANCH =~ $BRANCH_PATTERN_PUBLIC
  68. database_related_task_template: &IS_DB_TASK_NEEDED >-
  69. $CIRRUS_BRANCH == $BRANCH_MAIN || $CIRRUS_BRANCH =~ $BRANCH_PATTERN_MAINTENANCE || $CIRRUS_BRANCH == $BRANCH_NIGHTLY ||
  70. changesInclude('server/sonar-db-dao/**/*Mapper.xml', 'server/sonar-db-migration/**/DbVersion*.java', 'server/sonar-db-dao/**/*Dao.java', 'server/sonar-db-core/src/main/java/org/sonar/db/*.java')
  71. saml_task_template: &IS_SAML_TASK_NEEDED >-
  72. $CIRRUS_BRANCH == $BRANCH_MAIN || $CIRRUS_BRANCH =~ $BRANCH_PATTERN_MAINTENANCE || $CIRRUS_BRANCH == $BRANCH_NIGHTLY ||
  73. changesInclude('server/sonar-auth-saml/src/main/java/**/*.java', 'server/sonar-auth-saml/src/main/resources/**/*', 'server/sonar-db-dao/src/main/**/SAML*.java', 'private/it-core/src/test/java/org/sonarqube/tests/saml/*.java', 'server/sonar-webserver-webapi/src/main/java/org/sonar/server/saml/**/*.java')
  74. ldap_task_template: &IS_LDAP_TASK_NEEDED >-
  75. $CIRRUS_BRANCH == $BRANCH_MAIN || $CIRRUS_BRANCH =~ $BRANCH_PATTERN_MAINTENANCE || $CIRRUS_BRANCH == $BRANCH_NIGHTLY ||
  76. changesInclude('server/sonar-auth-ldap/src/main/java/**/*.java', 'server/sonar-webserver-auth/src/main/java/org/sonar/server/authentication/LdapCredentialsAuthentication.java', 'private/it-core/src/test/java/org/sonarqube/tests/ldap/*.java')
  77. github_task_template: &IS_GITHUB_TASK_NEEDED >-
  78. $CIRRUS_BRANCH == $BRANCH_MAIN || $CIRRUS_BRANCH =~ $BRANCH_PATTERN_MAINTENANCE || $CIRRUS_BRANCH == $BRANCH_NIGHTLY ||
  79. changesInclude(
  80. 'private/core-extension-developer-server/src/main/java/com/sonarsource/branch/pr/github/**/*.java',
  81. 'private/core-extension-developer-server/src/main/java/com/sonarsource/branch/pr/github/*.java',
  82. 'private/it-branch/it-tests/src/test/java/com/sonarsource/branch/it/suite/pr/github/**/*.java',
  83. 'private/it-branch/it-tests/src/test/java/com/sonarsource/branch/it/suite/pr/github/*.java',
  84. 'private/it-branch/it-tests/src/test/java/com/sonarsource/provisioning/github/*.java',
  85. 'private/it-branch/it-tests/src/test/java/com/sonarsource/onboarding/github/*.java',
  86. 'private/core-extension-github-provisioning/**/*')
  87. gitlab_task_template: &IS_GITLAB_TASK_NEEDED >-
  88. $CIRRUS_BRANCH == $BRANCH_MAIN || $CIRRUS_BRANCH =~ $BRANCH_PATTERN_MAINTENANCE || $CIRRUS_BRANCH == $BRANCH_NIGHTLY ||
  89. changesInclude(
  90. 'private/core-extension-developer-server/src/main/java/com/sonarsource/branch/pr/gitlab/**/*.java',
  91. 'private/core-extension-developer-server/src/main/java/com/sonarsource/branch/pr/gitlab/*.java',
  92. 'private/it-branch/it-tests/src/test/java/com/sonarsource/branch/it/suite/pr/gitlab/**/*.java',
  93. 'private/it-branch/it-tests/src/test/java/com/sonarsource/branch/it/suite/pr/gitlab/*.java',
  94. 'private/core-extension-gitlab-vulnerability-report/src/main/**/*.java')
  95. gitlab_provisioning_task_template: &IS_GITLAB_PROVISIONING_TASK_NEEDED >-
  96. $CIRRUS_BRANCH == $BRANCH_MAIN || $CIRRUS_BRANCH =~ $BRANCH_PATTERN_MAINTENANCE || $CIRRUS_BRANCH == $BRANCH_NIGHTLY ||
  97. changesInclude('private/core-extension-gitlab-provisioning/**/*.java')
  98. azure_task_template: &IS_AZURE_TASK_NEEDED >-
  99. $CIRRUS_BRANCH == $BRANCH_MAIN || $CIRRUS_BRANCH =~ $BRANCH_PATTERN_MAINTENANCE || $CIRRUS_BRANCH == $BRANCH_NIGHTLY ||
  100. changesInclude(
  101. 'private/core-extension-developer-server/src/main/java/com/sonarsource/branch/pr/azuredevops/**/*.java',
  102. 'private/core-extension-developer-server/src/main/java/com/sonarsource/branch/pr/azuredevops/*.java',
  103. 'private/it-branch/it-tests/src/test/java/com/sonarsource/branch/it/suite/pr/azure/**/*.java',
  104. 'private/it-branch/it-tests/src/test/java/com/sonarsource/branch/it/suite/pr/azure/*.java')
  105. bitbucket_server_task_template: &IS_BITBUCKET_SERVER_TASK_NEEDED >-
  106. $CIRRUS_BRANCH == $BRANCH_MAIN || $CIRRUS_BRANCH =~ $BRANCH_PATTERN_MAINTENANCE || $CIRRUS_BRANCH == $BRANCH_NIGHTLY ||
  107. changesInclude(
  108. 'private/core-extension-developer-server/src/main/java/com/sonarsource/branch/pr/bitbucketserver/**/*.java',
  109. 'private/core-extension-developer-server/src/main/java/com/sonarsource/branch/pr/bitbucketserver/*.java',
  110. 'private/it-branch/it-tests/src/test/java/com/sonarsource/branch/it/suite/pr/bitbucketserver/**/*.java',
  111. 'private/it-branch/it-tests/src/test/java/com/sonarsource/branch/it/suite/pr/bitbucketserver/*.java')
  112. bitbucket_cloud_task_template: &IS_BITBUCKET_CLOUD_TASK_NEEDED >-
  113. $CIRRUS_BRANCH == $BRANCH_MAIN || $CIRRUS_BRANCH =~ $BRANCH_PATTERN_MAINTENANCE || $CIRRUS_BRANCH == $BRANCH_NIGHTLY ||
  114. changesInclude(
  115. 'private/core-extension-developer-server/src/main/java/com/sonarsource/branch/pr/bitbucket/**/*.java',
  116. 'private/core-extension-developer-server/src/main/java/com/sonarsource/branch/pr/bitbucket/*.java',
  117. 'private/it-branch/it-tests/src/test/java/com/sonarsource/branch/it/suite/pr/bitbucketcloud/**/*.java',
  118. 'private/it-branch/it-tests/src/test/java/com/sonarsource/branch/it/suite/pr/bitbucketcloud/*.java')
  119. docker_build_container_template: &CONTAINER_TEMPLATE
  120. region: eu-central-1
  121. cluster_name: ${CIRRUS_CLUSTER_NAME}
  122. namespace: default
  123. builder_subnet_id: ${CIRRUS_AWS_SUBNET}
  124. builder_role: cirrus-builder
  125. builder_image: docker-builder-v*
  126. builder_instance_type: t2.small
  127. dockerfile: private/docker/Dockerfile-build
  128. docker_arguments:
  129. CIRRUS_AWS_ACCOUNT: ${CIRRUS_AWS_ACCOUNT}
  130. cpu: 1
  131. memory: 2Gb
  132. vm_instance_template: &VM_TEMPLATE
  133. experimental: true # see https://github.com/cirruslabs/cirrus-ci-docs/issues/1051
  134. image: docker-builder-v*
  135. type: t2.small
  136. region: eu-central-1
  137. subnet_id: ${CIRRUS_AWS_SUBNET}
  138. disk: 10
  139. cpu: 4
  140. memory: 8G
  141. t2xlarge_node_selector: &T2XLARGE_NODE_SELECTOR
  142. nodeSelectorTerms:
  143. - matchExpressions:
  144. - key: node.kubernetes.io/instance-type
  145. operator: In
  146. values: t2.xlarge
  147. mssql_additional_container_template: &MSSQL_ADDITIONAL_CONTAINER_TEMPLATE
  148. name: mssql
  149. image: mcr.microsoft.com/mssql/server:2022-latest
  150. port: 1433
  151. cpu: 2
  152. memory: 5Gb
  153. env:
  154. MSSQL_PID: Developer # this is the default edition
  155. ACCEPT_EULA: Y
  156. SA_PASSWORD: sonarqube!1
  157. oracle_additional_container_template: &ORACLE_ADDITIONAL_CONTAINER_TEMPLATE
  158. name: oracle
  159. image: gvenzl/oracle-xe:21-faststart
  160. port: 1521
  161. cpu: 2
  162. memory: 5Gb
  163. env:
  164. ORACLE_PASSWORD: sonarqube
  165. APP_USER: sonarqube
  166. APP_USER_PASSWORD: sonarqube
  167. postgres_additional_container_template: &POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  168. name: postgres
  169. image: public.ecr.aws/docker/library/postgres:15
  170. port: 5432
  171. cpu: 1
  172. memory: 1Gb
  173. env:
  174. POSTGRES_USER: postgres
  175. POSTGRES_PASSWORD: postgres
  176. gitlab_container_template: &GITLAB_CONTAINER_TEMPLATE
  177. name: gitlab
  178. ports:
  179. - 80
  180. - 443
  181. cpu: 2
  182. memory: 8Gb
  183. image: ${CIRRUS_AWS_ACCOUNT}.dkr.ecr.eu-central-1.amazonaws.com/gitlab:${GITLAB_VERSION}
  184. env:
  185. - GITLAB_POST_RECONFIGURE_SCRIPT: |-
  186. { cat >/tmp/setup.rb <<-'EOF'
  187. token = User.find_by_username('root').personal_access_tokens.create(scopes: [:api], name: 'token');
  188. token.set_token('token-here-456');
  189. token.expires_at = Date.today+10.day
  190. token.save!;
  191. token_read = User.find_by_username('root').personal_access_tokens.create(scopes: [:read_user], name: 'token_read');
  192. token_read.set_token('token-read-123');
  193. token_read.expires_at = Date.today+10.day
  194. token_read.save!;
  195. user = User.find_by_username('root');
  196. user.password = 'eng-YTU1ydh6kyt7tjd';
  197. user.password_confirmation = 'eng-YTU1ydh6kyt7tjd';
  198. user.save!;
  199. EOF
  200. } && gitlab-rails runner /tmp/setup.rb && \
  201. echo 'from_file "/etc/gitlab/external_gitlab.rb"' >> /etc/gitlab/gitlab.rb && \
  202. gitlab-ctl reconfigure
  203. keycloak_container_template: &KEYCLOAK_CONTAINER_TEMPLATE
  204. name: keycloak
  205. image: quay.io/keycloak/keycloak:22.0.5
  206. port: 8080
  207. cpu: 1
  208. memory: 1Gb
  209. command: "/opt/keycloak/bin/kc.sh start-dev --http-relative-path /auth"
  210. env:
  211. KEYCLOAK_ADMIN: admin
  212. KEYCLOAK_ADMIN_PASSWORD: admin
  213. default_artifact_template: &DEFAULT_ARTIFACTS_TEMPLATE
  214. on_failure:
  215. jest_junit_cleanup_script: >
  216. find . -type f -wholename "**/build/test-results/test-jest/junit.xml" -exec
  217. xmlstarlet edit --inplace --delete '//testsuite[@errors=0 and @failures=0]' {} \;
  218. junit_artifacts:
  219. path: "**/build/test-results/**/*.xml"
  220. type: "text/xml"
  221. format: junit
  222. reports_artifacts:
  223. path: "**/build/reports/**/*"
  224. screenshots_artifacts:
  225. path: "**/build/screenshots/**/*"
  226. log_artifacts:
  227. path: "**/build/**/*.log"
  228. always:
  229. profile_artifacts:
  230. path: "**/build/reports/profile/**/*"
  231. yarn_cache_template: &YARN_CACHE_TEMPLATE
  232. yarn_cache:
  233. folder: "~/.yarn/berry/cache"
  234. fingerprint_script: |
  235. cat \
  236. server/sonar-web/yarn.lock \
  237. private/core-extension-developer-server/yarn.lock \
  238. private/core-extension-enterprise-server/yarn.lock \
  239. private/core-extension-license/yarn.lock \
  240. private/core-extension-securityreport/yarn.lock
  241. gradle_cache_template: &GRADLE_CACHE_TEMPLATE
  242. gradle_cache:
  243. folder: "~/.gradle/caches"
  244. fingerprint_script: find -type f \( -name "*.gradle*" -or -name "gradle*.properties" \) | sort | xargs cat
  245. jar_cache_template: &JAR_CACHE_TEMPLATE
  246. jar_cache:
  247. folder: "**/build/libs/*.jar"
  248. fingerprint_key: jar-cache_$CIRRUS_BUILD_ID
  249. eslint_report_cache_template: &ESLINT_REPORT_CACHE_TEMPLATE
  250. eslint_report_cache:
  251. folders:
  252. - server/sonar-web/eslint-report/
  253. - server/sonar-web/design-system/eslint-report/
  254. - private/core-extension-securityreport/eslint-report/
  255. - private/core-extension-license/eslint-report/
  256. - private/core-extension-enterprise-server/eslint-report/
  257. - private/core-extension-developer-server/eslint-report/
  258. fingerprint_script: echo $CIRRUS_BUILD_ID
  259. jest_report_cache_template: &JEST_REPORT_CACHE_TEMPLATE
  260. jest_report_cache:
  261. folders:
  262. - server/sonar-web/coverage/
  263. - server/sonar-web/design-system/coverage/
  264. - private/core-extension-securityreport/coverage/
  265. - private/core-extension-license/coverage/
  266. - private/core-extension-enterprise-server/coverage/
  267. - private/core-extension-developer-server/coverage/
  268. fingerprint_script: echo $CIRRUS_BUILD_ID
  269. junit_report_cache_template: &JUNIT_REPORT_CACHE_TEMPLATE
  270. junit_report_cache:
  271. folders:
  272. - "**/reports/jacoco"
  273. - "**/test-results/test"
  274. fingerprint_script: echo $CIRRUS_BUILD_ID
  275. default_template: &DEFAULT_TEMPLATE
  276. skip: *IS_BRANCH_PUBLIC
  277. clone_script: |
  278. git init
  279. git remote add origin https://x-access-token:${CIRRUS_REPO_CLONE_TOKEN}@github.com/${CIRRUS_REPO_FULL_NAME}.git
  280. git fetch origin $CIRRUS_CHANGE_IN_REPO $FETCH_DEPTH
  281. git reset --hard $CIRRUS_CHANGE_IN_REPO
  282. env:
  283. FETCH_DEPTH: --depth=1
  284. cache_dependencies_task:
  285. <<: *DEFAULT_TEMPLATE
  286. <<: *GRADLE_CACHE_TEMPLATE
  287. eks_container:
  288. <<: *CONTAINER_TEMPLATE
  289. cpu: 2
  290. memory: 4Gb
  291. script:
  292. - ./private/cirrus/cirrus-cache-dependencies.sh
  293. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  294. build_task:
  295. <<: *DEFAULT_TEMPLATE
  296. <<: *GRADLE_CACHE_TEMPLATE
  297. <<: *YARN_CACHE_TEMPLATE
  298. <<: *JAR_CACHE_TEMPLATE
  299. <<: *CACHE_DEPENDENCIES_DEPENDANT_TASK_TEMPLATE
  300. eks_container:
  301. <<: *CONTAINER_TEMPLATE
  302. cpu: 7.5
  303. memory: 8Gb
  304. script:
  305. - ./private/cirrus/cirrus-build.sh
  306. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  307. publish_task:
  308. <<: *DEFAULT_TEMPLATE
  309. <<: *GRADLE_CACHE_TEMPLATE
  310. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  311. skip: *IS_WEEKLY_JOB
  312. eks_container:
  313. <<: *CONTAINER_TEMPLATE
  314. cpu: 4
  315. memory: 4Gb
  316. env:
  317. ORG_GRADLE_PROJECT_signingKey: VAULT[development/kv/data/sign data.key]
  318. ORG_GRADLE_PROJECT_signingPassword: VAULT[development/kv/data/sign data.passphrase]
  319. ORG_GRADLE_PROJECT_signingKeyId: VAULT[development/kv/data/sign data.key_id]
  320. script:
  321. - ./private/cirrus/cirrus-publish.sh
  322. yarn_lint_task:
  323. <<: *DEFAULT_TEMPLATE
  324. <<: *GRADLE_CACHE_TEMPLATE
  325. <<: *YARN_CACHE_TEMPLATE
  326. <<: *ESLINT_REPORT_CACHE_TEMPLATE
  327. <<: *CACHE_DEPENDENCIES_DEPENDANT_TASK_TEMPLATE
  328. skip: *IS_WEEKLY_JOB
  329. eks_container:
  330. <<: *CONTAINER_TEMPLATE
  331. cpu: 3
  332. memory: 6Gb
  333. script:
  334. - ./private/cirrus/cirrus-yarn-lint-report.sh
  335. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  336. yarn_check_task:
  337. <<: *DEFAULT_TEMPLATE
  338. <<: *GRADLE_CACHE_TEMPLATE
  339. <<: *YARN_CACHE_TEMPLATE
  340. <<: *CACHE_DEPENDENCIES_DEPENDANT_TASK_TEMPLATE
  341. skip: *IS_WEEKLY_JOB
  342. eks_container:
  343. <<: *CONTAINER_TEMPLATE
  344. cpu: 3
  345. memory: 5Gb
  346. script: |
  347. source cirrus-env YARN
  348. gradle yarn_check-ci --profile
  349. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  350. yarn_validate_task:
  351. <<: *DEFAULT_TEMPLATE
  352. <<: *GRADLE_CACHE_TEMPLATE
  353. <<: *YARN_CACHE_TEMPLATE
  354. <<: *JEST_REPORT_CACHE_TEMPLATE
  355. <<: *CACHE_DEPENDENCIES_DEPENDANT_TASK_TEMPLATE
  356. skip: *IS_WEEKLY_JOB
  357. eks_container:
  358. <<: *CONTAINER_TEMPLATE
  359. cpu: 7.5
  360. memory: 25Gb
  361. script:
  362. - ./private/cirrus/cirrus-yarn-validate-ci.sh
  363. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  364. junit_task:
  365. <<: *DEFAULT_TEMPLATE
  366. <<: *GRADLE_CACHE_TEMPLATE
  367. <<: *JUNIT_REPORT_CACHE_TEMPLATE
  368. <<: *CACHE_DEPENDENCIES_DEPENDANT_TASK_TEMPLATE
  369. skip: *IS_WEEKLY_JOB
  370. eks_container:
  371. <<: *CONTAINER_TEMPLATE
  372. cpu: 7.5
  373. memory: 10Gb
  374. script:
  375. - ./private/cirrus/cirrus-junit.sh
  376. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  377. sq_analysis_task:
  378. skip: *IS_OLD_COMMIT_OR_BRANCH_PUBLIC
  379. <<: *GRADLE_CACHE_TEMPLATE
  380. <<: *YARN_CACHE_TEMPLATE
  381. <<: *JEST_REPORT_CACHE_TEMPLATE
  382. <<: *ESLINT_REPORT_CACHE_TEMPLATE
  383. <<: *JUNIT_REPORT_CACHE_TEMPLATE
  384. depends_on:
  385. - yarn_validate
  386. - yarn_lint
  387. - junit
  388. eks_container:
  389. <<: *CONTAINER_TEMPLATE
  390. cpu: 7.5
  391. memory: 15Gb
  392. script:
  393. - ./private/cirrus/cirrus-sq-analysis.sh
  394. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  395. task: #bitbucket
  396. <<: *DEFAULT_TEMPLATE
  397. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  398. <<: *JAR_CACHE_TEMPLATE
  399. <<: *GRADLE_CACHE_TEMPLATE
  400. only_if: *IS_BITBUCKET_SERVER_TASK_NEEDED
  401. eks_container:
  402. <<: *CONTAINER_TEMPLATE
  403. cpu: 3
  404. memory: 10Gb
  405. additional_containers:
  406. - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  407. maven_cache:
  408. folder: ~/.m2
  409. env:
  410. QA_CATEGORY: BITBUCKET
  411. matrix:
  412. - name: qa_bb_5.15.0
  413. bitbucket_background_script: ./private/cirrus/cirrus-start-bitbucket.sh 5.15.0
  414. - name: qa_bb_latest
  415. bitbucket_background_script: ./private/cirrus/cirrus-start-bitbucket.sh LATEST
  416. 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
  417. script:
  418. - ./private/cirrus/cirrus-qa.sh postgres
  419. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  420. qa_bb_cloud_task:
  421. <<: *DEFAULT_TEMPLATE
  422. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  423. <<: *JAR_CACHE_TEMPLATE
  424. <<: *GRADLE_CACHE_TEMPLATE
  425. only_if: *IS_BITBUCKET_CLOUD_TASK_NEEDED
  426. eks_container:
  427. <<: *CONTAINER_TEMPLATE
  428. cpu: 2.4
  429. memory: 7Gb
  430. env:
  431. QA_CATEGORY: BITBUCKET_CLOUD
  432. <<: *BITBUCKET_CLOUD_ENVIRONMENT_VARIABLES
  433. script:
  434. - ./private/cirrus/cirrus-qa.sh h2
  435. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  436. qa_ha_cluster_task:
  437. <<: *DEFAULT_TEMPLATE
  438. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  439. only_if: *IS_BRANCH_MASTER_OR_NIGHTLY_OR_MAINTENANCE
  440. <<: *JAR_CACHE_TEMPLATE
  441. <<: *GRADLE_CACHE_TEMPLATE
  442. eks_container:
  443. <<: *CONTAINER_TEMPLATE
  444. cpu: 3
  445. memory: 10Gb
  446. additional_containers:
  447. - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  448. <<: *T2XLARGE_NODE_SELECTOR
  449. env:
  450. QA_CATEGORY: HA_CLUSTER
  451. script:
  452. - ./private/cirrus/cirrus-qa.sh postgres
  453. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  454. qa_ha_elasticsearch_task:
  455. <<: *DEFAULT_TEMPLATE
  456. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  457. only_if: *IS_BRANCH_MASTER_OR_NIGHTLY_OR_MAINTENANCE
  458. <<: *JAR_CACHE_TEMPLATE
  459. <<: *GRADLE_CACHE_TEMPLATE
  460. eks_container:
  461. <<: *CONTAINER_TEMPLATE
  462. cpu: 2.4
  463. memory: 10Gb
  464. additional_containers:
  465. - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  466. <<: *T2XLARGE_NODE_SELECTOR
  467. env:
  468. QA_CATEGORY: HA_ELASTICSEARCH
  469. script:
  470. - ./private/cirrus/cirrus-qa.sh postgres
  471. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  472. qa_performance_task:
  473. <<: *DEFAULT_TEMPLATE
  474. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  475. only_if: *IS_BRANCH_MASTER_OR_NIGHTLY
  476. <<: *JAR_CACHE_TEMPLATE
  477. <<: *GRADLE_CACHE_TEMPLATE
  478. eks_container:
  479. <<: *CONTAINER_TEMPLATE
  480. cpu: 2.4
  481. memory: 10Gb
  482. additional_containers:
  483. - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  484. env:
  485. QA_CATEGORY: AnalysisPerformance
  486. script:
  487. - ./private/cirrus/cirrus-qa.sh postgres
  488. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  489. # 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.
  490. qa_gitlab_task:
  491. <<: *DEFAULT_TEMPLATE
  492. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  493. <<: *JAR_CACHE_TEMPLATE
  494. <<: *GRADLE_CACHE_TEMPLATE
  495. only_if: *IS_GITLAB_TASK_NEEDED
  496. depends_on:
  497. - build
  498. env:
  499. QA_CATEGORY: GITLAB
  500. matrix:
  501. - name: qa_gitlab_latest
  502. env:
  503. - GITLAB_VERSION: latest
  504. - name: qa_gitlab_oldest
  505. env:
  506. - GITLAB_VERSION: 15.6.2-ce.0
  507. eks_container:
  508. <<: *CONTAINER_TEMPLATE
  509. cpu: 2.4
  510. memory: 7Gb
  511. use_in_memory_disk: true
  512. additional_containers:
  513. - <<: *GITLAB_CONTAINER_TEMPLATE
  514. script:
  515. - ./private/cirrus/cirrus-qa.sh h2
  516. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  517. qa_gitlab_cloud_task:
  518. <<: *DEFAULT_TEMPLATE
  519. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  520. <<: *JAR_CACHE_TEMPLATE
  521. <<: *GRADLE_CACHE_TEMPLATE
  522. only_if: *IS_GITLAB_TASK_NEEDED
  523. eks_container:
  524. <<: *CONTAINER_TEMPLATE
  525. cpu: 2.4
  526. memory: 7Gb
  527. use_in_memory_disk: true
  528. env:
  529. QA_CATEGORY: GITLAB_CLOUD
  530. <<: *GITLAB_CLOUD_ENVIRONMENT_VARIABLES
  531. script:
  532. - ./private/cirrus/cirrus-qa.sh h2
  533. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  534. # Azure QA is executed in a dedicated task in order to not slow down the pipeline.
  535. qa_azure_task:
  536. <<: *DEFAULT_TEMPLATE
  537. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  538. <<: *JAR_CACHE_TEMPLATE
  539. <<: *GRADLE_CACHE_TEMPLATE
  540. only_if: *IS_AZURE_TASK_NEEDED
  541. eks_container:
  542. <<: *CONTAINER_TEMPLATE
  543. cpu: 2.4
  544. memory: 7Gb
  545. env:
  546. QA_CATEGORY: AZURE
  547. <<: *AZURE_CLOUD_ENVIRONMENT_VARIABLES
  548. script:
  549. - ./private/cirrus/cirrus-qa.sh h2
  550. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  551. qa_github_task:
  552. <<: *DEFAULT_TEMPLATE
  553. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  554. only_if: *IS_GITHUB_TASK_NEEDED
  555. <<: *JAR_CACHE_TEMPLATE
  556. <<: *GRADLE_CACHE_TEMPLATE
  557. eks_container:
  558. <<: *CONTAINER_TEMPLATE
  559. cpu: 4
  560. memory: 7Gb
  561. env:
  562. QA_CATEGORY: GITHUB
  563. script:
  564. - ./private/cirrus/cirrus-qa.sh h2
  565. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  566. qa_github_provisioning_task:
  567. <<: *DEFAULT_TEMPLATE
  568. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  569. only_if: *IS_GITHUB_TASK_NEEDED
  570. <<: *JAR_CACHE_TEMPLATE
  571. <<: *GRADLE_CACHE_TEMPLATE
  572. eks_container:
  573. <<: *CONTAINER_TEMPLATE
  574. cpu: 4
  575. memory: 7Gb
  576. env:
  577. QA_CATEGORY: GITHUB_PROVISIONING
  578. script:
  579. - ./private/cirrus/cirrus-qa.sh h2
  580. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  581. qa_gitlab_provisioning_task:
  582. <<: *DEFAULT_TEMPLATE
  583. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  584. <<: *JAR_CACHE_TEMPLATE
  585. <<: *GRADLE_CACHE_TEMPLATE
  586. only_if: *IS_GITLAB_PROVISIONING_TASK_NEEDED
  587. env:
  588. QA_CATEGORY: GITLAB_PROVISIONING
  589. matrix:
  590. - name: qa_gitlab_provisioning_latest
  591. env:
  592. - GITLAB_VERSION: latest
  593. - name: qa_gitlab_provisioning_oldest
  594. env:
  595. - GITLAB_VERSION: 15.6.2-ce.0
  596. eks_container:
  597. <<: *CONTAINER_TEMPLATE
  598. cpu: 2.4
  599. memory: 7Gb
  600. use_in_memory_disk: true
  601. additional_containers:
  602. - <<: *GITLAB_CONTAINER_TEMPLATE
  603. script:
  604. - ./private/cirrus/cirrus-qa.sh h2
  605. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  606. qa_github_slow_task:
  607. <<: *DEFAULT_TEMPLATE
  608. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  609. only_if: *IS_GITHUB_TASK_NEEDED
  610. skip: *IS_BRANCH_MASTER
  611. <<: *JAR_CACHE_TEMPLATE
  612. <<: *GRADLE_CACHE_TEMPLATE
  613. eks_container:
  614. <<: *CONTAINER_TEMPLATE
  615. cpu: 4
  616. memory: 7Gb
  617. env:
  618. QA_CATEGORY: GITHUB_SLOW_TESTS
  619. GITHUB_COM_CODE_SCANNING_ALERTS_TECHNICAL_USER_USERNAME: QA-task
  620. GITHUB_COM_CODE_SCANNING_ALERTS_TECHNICAL_USER_TOKEN: VAULT[development/github/token/SonarSource-sonar-enterprise-code-scanning token]
  621. script:
  622. - ./private/cirrus/cirrus-qa.sh h2
  623. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  624. # SAML QA is executed in a dedicated task in order to not slow down the pipeline, as a Keycloak server docker image is required.
  625. qa_saml_task:
  626. <<: *DEFAULT_TEMPLATE
  627. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  628. only_if: *IS_SAML_TASK_NEEDED
  629. <<: *JAR_CACHE_TEMPLATE
  630. <<: *GRADLE_CACHE_TEMPLATE
  631. eks_container:
  632. <<: *CONTAINER_TEMPLATE
  633. cpu: 2.4
  634. memory: 10Gb
  635. additional_containers:
  636. - <<: *KEYCLOAK_CONTAINER_TEMPLATE
  637. env:
  638. QA_CATEGORY: SAML
  639. script:
  640. - ./private/cirrus/cirrus-qa.sh h2
  641. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  642. # 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.
  643. qa_ldap_task:
  644. <<: *DEFAULT_TEMPLATE
  645. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  646. only_if: *IS_LDAP_TASK_NEEDED
  647. <<: *JAR_CACHE_TEMPLATE
  648. <<: *GRADLE_CACHE_TEMPLATE
  649. eks_container:
  650. <<: *CONTAINER_TEMPLATE
  651. cpu: 2.4
  652. memory: 10Gb
  653. env:
  654. QA_CATEGORY: LDAP
  655. script:
  656. - ./private/cirrus/cirrus-qa.sh h2
  657. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  658. promote_task:
  659. <<: *DEFAULT_TEMPLATE
  660. skip: *IS_OLD_COMMIT
  661. depends_on:
  662. - build
  663. - sq_analysis
  664. - qa
  665. - qa_saml
  666. - qa_ldap
  667. - publish
  668. eks_container:
  669. <<: *CONTAINER_TEMPLATE
  670. memory: 512M
  671. stateful: true
  672. script:
  673. - ./private/cirrus/cirrus-promote.sh
  674. package_docker_task:
  675. <<: *DEFAULT_TEMPLATE
  676. only_if: *IS_BRANCH_MASTER
  677. skip: *IS_OLD_COMMIT
  678. depends_on: promote
  679. ec2_instance:
  680. <<: *VM_TEMPLATE
  681. clone_script: |
  682. git clone --recursive --branch=$CIRRUS_BRANCH https://x-access-token:${CIRRUS_REPO_CLONE_TOKEN}@github.com/${CIRRUS_REPO_FULL_NAME}.git $CIRRUS_WORKING_DIR --depth=1
  683. git fetch origin $CIRRUS_CHANGE_IN_REPO --depth=1
  684. git reset --hard $CIRRUS_CHANGE_IN_REPO
  685. install_tooling_script:
  686. - ./private/cirrus/cirrus-tooling-for-package-docker.sh
  687. package_script:
  688. - ./private/cirrus/cirrus-package-docker.sh
  689. sql_mssql_task:
  690. <<: *DEFAULT_TEMPLATE
  691. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  692. only_if: *IS_DB_TASK_NEEDED
  693. <<: *GRADLE_CACHE_TEMPLATE
  694. eks_container:
  695. <<: *CONTAINER_TEMPLATE
  696. memory: 5Gb
  697. additional_containers:
  698. - name: mssql
  699. image: mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04
  700. port: 1433
  701. cpu: 2
  702. memory: 5Gb
  703. env:
  704. MSSQL_PID: Developer # this is the default edition
  705. ACCEPT_EULA: Y
  706. SA_PASSWORD: sonarqube!1
  707. script:
  708. - ./private/cirrus/cirrus-db-unit-test.sh mssql
  709. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  710. sql_postgres_task:
  711. <<: *DEFAULT_TEMPLATE
  712. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  713. only_if: *IS_DB_TASK_NEEDED
  714. <<: *GRADLE_CACHE_TEMPLATE
  715. eks_container:
  716. <<: *CONTAINER_TEMPLATE
  717. memory: 5Gb
  718. additional_containers:
  719. - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  720. script:
  721. - ./private/cirrus/cirrus-db-unit-test.sh postgres
  722. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  723. # this is the oldest compatible version of PostgreSQL
  724. sql_postgres11_task:
  725. <<: *DEFAULT_TEMPLATE
  726. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  727. only_if: *IS_DB_TASK_NEEDED
  728. <<: *GRADLE_CACHE_TEMPLATE
  729. eks_container:
  730. <<: *CONTAINER_TEMPLATE
  731. memory: 5Gb
  732. additional_containers:
  733. - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  734. image: public.ecr.aws/docker/library/postgres:11
  735. script:
  736. - ./private/cirrus/cirrus-db-unit-test.sh postgres
  737. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  738. sql_oracle21_task:
  739. <<: *DEFAULT_TEMPLATE
  740. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  741. only_if: *IS_DB_TASK_NEEDED
  742. <<: *GRADLE_CACHE_TEMPLATE
  743. eks_container:
  744. <<: *CONTAINER_TEMPLATE
  745. memory: 5Gb
  746. additional_containers:
  747. - <<: *ORACLE_ADDITIONAL_CONTAINER_TEMPLATE
  748. script:
  749. - ./private/cirrus/cirrus-db-unit-test.sh oracle21
  750. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  751. upgd_mssql_task:
  752. <<: *DEFAULT_TEMPLATE
  753. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  754. only_if: *IS_DB_TASK_NEEDED
  755. <<: *JAR_CACHE_TEMPLATE
  756. <<: *GRADLE_CACHE_TEMPLATE
  757. eks_container:
  758. <<: *CONTAINER_TEMPLATE
  759. cpu: 1.5
  760. memory: 6Gb
  761. additional_containers:
  762. - <<: *MSSQL_ADDITIONAL_CONTAINER_TEMPLATE
  763. env:
  764. QA_CATEGORY: Upgrade
  765. script:
  766. - ./private/cirrus/cirrus-qa.sh mssql
  767. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  768. upgd_oracle21_task:
  769. <<: *DEFAULT_TEMPLATE
  770. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  771. only_if: *IS_DB_TASK_NEEDED
  772. <<: *JAR_CACHE_TEMPLATE
  773. <<: *GRADLE_CACHE_TEMPLATE
  774. eks_container:
  775. <<: *CONTAINER_TEMPLATE
  776. cpu: 1.5
  777. memory: 6Gb
  778. additional_containers:
  779. - <<: *ORACLE_ADDITIONAL_CONTAINER_TEMPLATE
  780. env:
  781. QA_CATEGORY: Upgrade
  782. script:
  783. - ./private/cirrus/cirrus-qa.sh oracle21
  784. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  785. mend_scan_task:
  786. <<: *DEFAULT_TEMPLATE
  787. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  788. only_if: *IS_BRANCH_MASTER_OR_NIGHTLY_OR_MAINTENANCE
  789. <<: *YARN_CACHE_TEMPLATE
  790. <<: *GRADLE_CACHE_TEMPLATE
  791. timeout_in: 30m
  792. eks_container:
  793. <<: *CONTAINER_TEMPLATE
  794. cpu: 2
  795. memory: 4Gb
  796. env:
  797. WS_APIKEY: VAULT[development/kv/data/mend data.apikey]
  798. WS_WSS_URL: VAULT[development/kv/data/mend data.url]
  799. WS_USERKEY: VAULT[development/kv/data/mend data.userKey]
  800. SLACK_WEBHOOK_SQ: VAULT[development/kv/data/slack data.webhook]
  801. mend_script:
  802. - ./private/cirrus/cirrus-mend-scan.sh
  803. allow_failures: "true"
  804. on_failure:
  805. slack_notification_script:
  806. - ./private/cirrus/cirrus-mend-notifications.sh
  807. always:
  808. ws_artifacts:
  809. path: "whitesource/**/*"
  810. qa_task:
  811. <<: *DEFAULT_TEMPLATE
  812. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  813. <<: *CACHE_DEPENDENCIES_DEPENDANT_TASK_TEMPLATE
  814. <<: *GRADLE_CACHE_TEMPLATE
  815. <<: *JAR_CACHE_TEMPLATE
  816. skip: *IS_WEEKLY_JOB
  817. eks_container:
  818. <<: *CONTAINER_TEMPLATE
  819. cpu: 3
  820. memory: 7Gb
  821. additional_containers:
  822. - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  823. name: QA $QA_CATEGORY
  824. alias: qa
  825. env:
  826. matrix:
  827. # QA name should not exceed 13 characters to be properly reported on wallboard by burgr
  828. # QA name cannot contain "_"
  829. - QA_CATEGORY: Cat1
  830. - QA_CATEGORY: Cat2
  831. - QA_CATEGORY: Cat3
  832. - QA_CATEGORY: Cat4
  833. - QA_CATEGORY: Cat5
  834. - QA_CATEGORY: Cat6
  835. - QA_CATEGORY: Analysis
  836. - QA_CATEGORY: Authorization
  837. - QA_CATEGORY: Auth
  838. - QA_CATEGORY: Branch1
  839. - QA_CATEGORY: Branch2
  840. - QA_CATEGORY: CE1
  841. - QA_CATEGORY: CE2
  842. - QA_CATEGORY: ComputeEngine
  843. - QA_CATEGORY: DE1
  844. - QA_CATEGORY: DE2
  845. - QA_CATEGORY: EE1
  846. - QA_CATEGORY: EE2
  847. - QA_CATEGORY: Issues1
  848. - QA_CATEGORY: Issues2
  849. - QA_CATEGORY: License1
  850. - QA_CATEGORY: License2
  851. - QA_CATEGORY: Plugins
  852. - QA_CATEGORY: Project
  853. - QA_CATEGORY: QP
  854. - QA_CATEGORY: Upgrade
  855. script:
  856. - ./private/cirrus/cirrus-qa.sh postgres
  857. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  858. weekly_postgres_task:
  859. <<: *DEFAULT_TEMPLATE
  860. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  861. <<: *CACHE_DEPENDENCIES_DEPENDANT_TASK_TEMPLATE
  862. <<: *GRADLE_CACHE_TEMPLATE
  863. <<: *JAR_CACHE_TEMPLATE
  864. only_if: *IS_WEEKLY_JOB
  865. eks_container:
  866. <<: *CONTAINER_TEMPLATE
  867. cpu: 3
  868. memory: 7Gb
  869. additional_containers:
  870. - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
  871. alias: weekly-qa
  872. env:
  873. GITLAB_VERSION: latest
  874. <<: *BITBUCKET_CLOUD_ENVIRONMENT_VARIABLES
  875. <<: *GITLAB_CLOUD_ENVIRONMENT_VARIABLES
  876. <<: *AZURE_CLOUD_ENVIRONMENT_VARIABLES
  877. matrix:
  878. # QA name should not exceed 13 characters to be properly reported on wallboard by burgr
  879. # QA name cannot contain "_"
  880. - QA_CATEGORY: Cat1
  881. - QA_CATEGORY: Cat2
  882. - QA_CATEGORY: Cat3
  883. - QA_CATEGORY: Cat4
  884. - QA_CATEGORY: Cat5
  885. - QA_CATEGORY: Cat6
  886. - QA_CATEGORY: Analysis
  887. - QA_CATEGORY: Authorization
  888. - QA_CATEGORY: Auth
  889. - QA_CATEGORY: Branch1
  890. - QA_CATEGORY: Branch2
  891. - QA_CATEGORY: CE1
  892. - QA_CATEGORY: CE2
  893. - QA_CATEGORY: ComputeEngine
  894. - QA_CATEGORY: DE1
  895. - QA_CATEGORY: DE2
  896. - QA_CATEGORY: EE1
  897. - QA_CATEGORY: EE2
  898. - QA_CATEGORY: Issues1
  899. - QA_CATEGORY: Issues2
  900. - QA_CATEGORY: License1
  901. - QA_CATEGORY: License2
  902. - QA_CATEGORY: Plugins
  903. - QA_CATEGORY: Project
  904. - QA_CATEGORY: QP
  905. - QA_CATEGORY: Upgrade
  906. - QA_CATEGORY: AnalysisPerformance
  907. - QA_CATEGORY: LDAP
  908. - QA_CATEGORY: BITBUCKET_CLOUD
  909. - QA_CATEGORY: GITLAB_CLOUD
  910. - QA_CATEGORY: AZURE
  911. - QA_CATEGORY: MIGRATION
  912. #- QA_CATEGORY: GITHUB needs to be disabled because the tests in this package fail when running a scanner
  913. #- QA_CATEGORY: GITHUB_PROVISIONING needs to be disabled because tests fail with dangling connection problem
  914. #- QA_CATEGORY: HA needs to be disabled because otherwise we would be assigning big container to each category
  915. maven_cache:
  916. folder: ~/.m2
  917. name: Postgres 15 $QA_CATEGORY
  918. script: ./private/cirrus/cirrus-qa.sh postgres
  919. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  920. weekly_oracle_task:
  921. <<: *DEFAULT_TEMPLATE
  922. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  923. <<: *CACHE_DEPENDENCIES_DEPENDANT_TASK_TEMPLATE
  924. <<: *GRADLE_CACHE_TEMPLATE
  925. <<: *JAR_CACHE_TEMPLATE
  926. only_if: *IS_WEEKLY_JOB
  927. eks_container:
  928. <<: *CONTAINER_TEMPLATE
  929. cpu: 3
  930. memory: 7Gb
  931. additional_containers:
  932. - <<: *ORACLE_ADDITIONAL_CONTAINER_TEMPLATE
  933. alias: weekly-qa
  934. env:
  935. GITLAB_VERSION: latest
  936. <<: *BITBUCKET_CLOUD_ENVIRONMENT_VARIABLES
  937. <<: *GITLAB_CLOUD_ENVIRONMENT_VARIABLES
  938. <<: *AZURE_CLOUD_ENVIRONMENT_VARIABLES
  939. matrix:
  940. # QA name should not exceed 13 characters to be properly reported on wallboard by burgr
  941. # QA name cannot contain "_"
  942. - QA_CATEGORY: Cat1
  943. - QA_CATEGORY: Cat2
  944. - QA_CATEGORY: Cat3
  945. - QA_CATEGORY: Cat4
  946. - QA_CATEGORY: Cat5
  947. - QA_CATEGORY: Cat6
  948. - QA_CATEGORY: Analysis
  949. - QA_CATEGORY: Authorization
  950. - QA_CATEGORY: Auth
  951. - QA_CATEGORY: Branch1
  952. - QA_CATEGORY: Branch2
  953. - QA_CATEGORY: CE1
  954. #- QA_CATEGORY: CE2 needs to be disabled because the tests in SonarLintServerPushTest are very slow on Oracle SONAR-21036
  955. - QA_CATEGORY: ComputeEngine
  956. - QA_CATEGORY: DE1
  957. - QA_CATEGORY: DE2
  958. - QA_CATEGORY: EE1
  959. - QA_CATEGORY: EE2
  960. - QA_CATEGORY: Issues1
  961. - QA_CATEGORY: Issues2
  962. - QA_CATEGORY: License1
  963. - QA_CATEGORY: License2
  964. - QA_CATEGORY: Plugins
  965. - QA_CATEGORY: Project
  966. - QA_CATEGORY: QP
  967. - QA_CATEGORY: Upgrade
  968. - QA_CATEGORY: AnalysisPerformance
  969. - QA_CATEGORY: LDAP
  970. - QA_CATEGORY: BITBUCKET_CLOUD
  971. - QA_CATEGORY: GITLAB_CLOUD
  972. - QA_CATEGORY: AZURE
  973. - QA_CATEGORY: MIGRATION
  974. #- QA_CATEGORY: GITHUB needs to be disabled because the tests in this package fail when running a scanner
  975. #- QA_CATEGORY: GITHUB_PROVISIONING needs to be disabled because tests fail with dangling connection problem
  976. #- QA_CATEGORY: HA needs to be disabled because otherwise we would be assigning big container to each category
  977. maven_cache:
  978. folder: ~/.m2
  979. name: Oracle 21 XE $QA_CATEGORY
  980. script: ./private/cirrus/cirrus-qa.sh oracle21
  981. <<: *DEFAULT_ARTIFACTS_TEMPLATE
  982. weekly_mssql_task:
  983. <<: *DEFAULT_TEMPLATE
  984. <<: *BUILD_DEPENDANT_TASK_TEMPLATE
  985. <<: *CACHE_DEPENDENCIES_DEPENDANT_TASK_TEMPLATE
  986. <<: *GRADLE_CACHE_TEMPLATE
  987. <<: *JAR_CACHE_TEMPLATE
  988. only_if: *IS_WEEKLY_JOB
  989. eks_container:
  990. <<: *CONTAINER_TEMPLATE
  991. cpu: 3
  992. memory: 7Gb
  993. additional_containers:
  994. - <<: *MSSQL_ADDITIONAL_CONTAINER_TEMPLATE
  995. alias: weekly-qa
  996. env:
  997. GITLAB_VERSION: latest
  998. <<: *BITBUCKET_CLOUD_ENVIRONMENT_VARIABLES
  999. <<: *GITLAB_CLOUD_ENVIRONMENT_VARIABLES
  1000. <<: *AZURE_CLOUD_ENVIRONMENT_VARIABLES
  1001. matrix:
  1002. # QA name should not exceed 13 characters to be properly reported on wallboard by burgr
  1003. # QA name cannot contain "_"
  1004. - QA_CATEGORY: Cat1
  1005. - QA_CATEGORY: Cat2
  1006. - QA_CATEGORY: Cat3
  1007. - QA_CATEGORY: Cat4
  1008. - QA_CATEGORY: Cat5
  1009. - QA_CATEGORY: Cat6
  1010. - QA_CATEGORY: Analysis
  1011. - QA_CATEGORY: Authorization
  1012. - QA_CATEGORY: Auth
  1013. - QA_CATEGORY: Branch1
  1014. - QA_CATEGORY: Branch2
  1015. - QA_CATEGORY: CE1
  1016. - QA_CATEGORY: CE2
  1017. - QA_CATEGORY: ComputeEngine
  1018. - QA_CATEGORY: DE1
  1019. - QA_CATEGORY: DE2
  1020. - QA_CATEGORY: EE1
  1021. - QA_CATEGORY: EE2
  1022. - QA_CATEGORY: Issues1
  1023. - QA_CATEGORY: Issues2
  1024. - QA_CATEGORY: License1
  1025. - QA_CATEGORY: License2
  1026. - QA_CATEGORY: Plugins
  1027. - QA_CATEGORY: Project
  1028. - QA_CATEGORY: QP
  1029. - QA_CATEGORY: Upgrade
  1030. - QA_CATEGORY: AnalysisPerformance
  1031. - QA_CATEGORY: LDAP
  1032. - QA_CATEGORY: BITBUCKET_CLOUD
  1033. - QA_CATEGORY: GITLAB_CLOUD
  1034. - QA_CATEGORY: AZURE
  1035. - QA_CATEGORY: MIGRATION
  1036. #- QA_CATEGORY: GITHUB needs to be disabled because the tests in this package fail when running a scanner
  1037. #- QA_CATEGORY: GITHUB_PROVISIONING needs to be disabled because tests fail with dangling connection problem
  1038. #- QA_CATEGORY: HA needs to be disabled because otherwise we would be assigning big container to each category
  1039. maven_cache:
  1040. folder: ~/.m2
  1041. name: MSSQL 2022 $QA_CATEGORY
  1042. script: ./private/cirrus/cirrus-qa.sh mssql
  1043. <<: *DEFAULT_ARTIFACTS_TEMPLATE