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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. #
  2. # ENV VARIABLES
  3. #
  4. env:
  5. ### Shared variables
  6. CIRRUS_VAULT_AUTH_PATH: jwt-cirrusci
  7. CIRRUS_VAULT_ROLE: cirrusci-${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}
  8. CIRRUS_VAULT_URL: https://vault.sonar.build:8200
  9. ARTIFACTORY_URL: VAULT[development/kv/data/repox data.url]
  10. ARTIFACTORY_PRIVATE_USERNAME: vault-${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-private-reader
  11. ARTIFACTORY_PRIVATE_PASSWORD: VAULT[development/artifactory/token/SonarSource-sonar-scanner-cli-private-reader access_token]
  12. ARTIFACTORY_ACCESS_TOKEN: VAULT[development/artifactory/token/SonarSource-sonar-scanner-cli-private-reader access_token]
  13. ARTIFACTORY_DEPLOY_USERNAME: vault-${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-qa-deployer
  14. ARTIFACTORY_DEPLOY_PASSWORD: VAULT[development/artifactory/token/SonarSource-sonar-scanner-cli-qa-deployer access_token]
  15. ARTIFACTORY_DEPLOY_REPO: sonarsource-public-qa
  16. GCF_ACCESS_TOKEN: VAULT[development/kv/data/promote data.token]
  17. PROMOTE_URL: VAULT[development/kv/data/promote data.url]
  18. BURGR_URL: VAULT[development/kv/data/burgr data.url]
  19. BURGR_USERNAME: VAULT[development/kv/data/burgr data.cirrus_username]
  20. BURGR_PASSWORD: VAULT[development/kv/data/burgr data.cirrus_password]
  21. ### Project variables
  22. DEPLOY_PULL_REQUEST: true
  23. ARTIFACTS: org.sonarsource.scanner.cli:sonar-scanner-cli:jar
  24. NIGHTLY_CRON: 'nightly-cron'
  25. #
  26. # RE-USABLE CONFIGS
  27. #
  28. eks_container: &EKS_CONTAINER
  29. region: eu-central-1
  30. cluster_name: ${CIRRUS_CLUSTER_NAME}
  31. namespace: default
  32. image: ${CIRRUS_AWS_ACCOUNT}.dkr.ecr.eu-central-1.amazonaws.com/base:j11-m3-latest
  33. cpu: 1
  34. memory: 2G
  35. ec2_instance: &EC2_INSTANCE_WINDOWS
  36. experimental: true # see https://github.com/cirruslabs/cirrus-ci-docs/issues/1051
  37. region: eu-central-1
  38. subnet_id: ${CIRRUS_AWS_SUBNET}
  39. type: t2.2xlarge
  40. image: base-windows-jdk11-v*
  41. platform: windows
  42. only_sonarsource_qa: &ONLY_SONARSOURCE_QA
  43. only_if: $CIRRUS_USER_COLLABORATOR == 'true' && ($CIRRUS_PR != "" || $CIRRUS_BRANCH == "master" || $CIRRUS_BRANCH =~ "branch-.*" || $CIRRUS_BRANCH =~ "dogfood-on-.*")
  44. except_nightly_cron: &EXCEPT_ON_NIGHTLY_CRON
  45. only_if: $CIRRUS_CRON != $NIGHTLY_CRON
  46. #
  47. # TASKS
  48. #
  49. build_task:
  50. eks_container:
  51. <<: *EKS_CONTAINER
  52. env:
  53. SONAR_TOKEN: VAULT[development/kv/data/next data.token]
  54. SONAR_HOST_URL: VAULT[development/kv/data/next data.url]
  55. SIGN_KEY: VAULT[development/kv/data/sign data.key]
  56. PGP_PASSPHRASE: VAULT[development/kv/data/sign data.passphrase]
  57. maven_cache:
  58. folder: ${CIRRUS_WORKING_DIR}/.m2/repository
  59. script:
  60. - source cirrus-env BUILD
  61. - regular_mvn_build_deploy_analyze -Pdist-linux,dist-windows,dist-macosx
  62. cleanup_before_cache_script:
  63. - cleanup_maven_repository
  64. linux_qa_java11_task:
  65. depends_on:
  66. - build
  67. <<: *ONLY_SONARSOURCE_QA
  68. eks_container:
  69. <<: *EKS_CONTAINER
  70. env:
  71. SQ_VERSION: LATEST_RELEASE[8.9]
  72. maven_cache:
  73. folder: ${CIRRUS_WORKING_DIR}/.m2/repository
  74. qa_script:
  75. - source cirrus-env QA
  76. - source set_maven_build_version $BUILD_NUMBER
  77. - cd it
  78. - mvn -B -e -Dsonar.runtimeVersion="$SQ_VERSION" -Dmaven.test.redirectTestOutputToFile=false verify
  79. cleanup_before_cache_script:
  80. - cleanup_maven_repository
  81. linux_qa_java17_task:
  82. depends_on:
  83. - build
  84. <<: *ONLY_SONARSOURCE_QA
  85. eks_container:
  86. <<: *EKS_CONTAINER
  87. image: ${CIRRUS_AWS_ACCOUNT}.dkr.ecr.eu-central-1.amazonaws.com/base:j17-m3-latest
  88. env:
  89. matrix:
  90. - SQ_VERSION: LATEST_RELEASE[8.9]
  91. - SQ_VERSION: DEV
  92. maven_cache:
  93. folder: ${CIRRUS_WORKING_DIR}/.m2/repository
  94. qa_script:
  95. - source cirrus-env QA
  96. - source set_maven_build_version $BUILD_NUMBER
  97. - cd it
  98. - mvn -B -e -Dsonar.runtimeVersion="$SQ_VERSION" -Dmaven.test.redirectTestOutputToFile=false verify
  99. cleanup_before_cache_script:
  100. - cleanup_maven_repository
  101. win_qa_java11_task:
  102. depends_on:
  103. - build
  104. <<: *ONLY_SONARSOURCE_QA
  105. ec2_instance:
  106. <<: *EC2_INSTANCE_WINDOWS
  107. env:
  108. CIRRUS_SHELL: bash
  109. SQ_VERSION: LATEST_RELEASE[8.9]
  110. maven_cache:
  111. folder: ${CIRRUS_WORKING_DIR}/.m2/repository
  112. qa_script:
  113. - source cirrus-env QA
  114. - source set_maven_build_version $BUILD_NUMBER
  115. - cd it
  116. - mvn -B -e -Dsonar.runtimeVersion="$SQ_VERSION" -Dmaven.test.redirectTestOutputToFile=false verify
  117. cleanup_before_cache_script:
  118. - cleanup_maven_repository
  119. win_qa_java17_task:
  120. depends_on:
  121. - build
  122. <<: *ONLY_SONARSOURCE_QA
  123. ec2_instance:
  124. <<: *EC2_INSTANCE_WINDOWS
  125. image: base-windows-jdk17-v*
  126. env:
  127. CIRRUS_SHELL: bash
  128. matrix:
  129. - SQ_VERSION: LATEST_RELEASE[8.9]
  130. - SQ_VERSION: DEV
  131. maven_cache:
  132. folder: ${CIRRUS_WORKING_DIR}/.m2/repository
  133. qa_script:
  134. - source cirrus-env QA
  135. - source set_maven_build_version $BUILD_NUMBER
  136. - cd it
  137. - mvn -B -e -Dsonar.runtimeVersion="$SQ_VERSION" -Dmaven.test.redirectTestOutputToFile=false verify
  138. cleanup_before_cache_script:
  139. - cleanup_maven_repository
  140. promote_task:
  141. depends_on:
  142. - linux_qa_java11
  143. - linux_qa_java17
  144. - win_qa_java11
  145. - win_qa_java17
  146. <<: *ONLY_SONARSOURCE_QA
  147. <<: *EXCEPT_ON_NIGHTLY_CRON
  148. eks_container:
  149. <<: *EKS_CONTAINER
  150. cpu: 0.5
  151. memory: 500M
  152. env:
  153. GITHUB_TOKEN: VAULT[development/github/token/SonarSource-sonar-scanner-cli-promotion token]
  154. maven_cache:
  155. folder: $CIRRUS_WORKING_DIR/.m2/repository
  156. script:
  157. - cirrus_promote_maven
  158. cleanup_before_cache_script:
  159. - cleanup_maven_repository