diff options
author | Wouter Admiraal <wouter.admiraal@sonarsource.com> | 2020-03-04 10:53:12 +0100 |
---|---|---|
committer | Wouter Admiraal <45544358+wouter-admiraal-sonarsource@users.noreply.github.com> | 2020-03-05 11:53:22 +0100 |
commit | ae038e155d03502e1dcd154408f29a057f089456 (patch) | |
tree | 41d2282274a704e28ad96dbe937fbdfbbd333e16 /.cirrus.yml | |
parent | 6da9b4b0c066d1e524a27aebc74cfd8d1b8ab19a (diff) | |
download | sonar-scanner-cli-ae038e155d03502e1dcd154408f29a057f089456.tar.gz sonar-scanner-cli-ae038e155d03502e1dcd154408f29a057f089456.zip |
BUILD-759 Move Jenkins + Travis QA to Cirrus CI
Diffstat (limited to '.cirrus.yml')
-rw-r--r-- | .cirrus.yml | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/.cirrus.yml b/.cirrus.yml new file mode 100644 index 0000000..3c726ef --- /dev/null +++ b/.cirrus.yml @@ -0,0 +1,146 @@ +# content of service-account-credentials.json, used to access to Google Cloud Platform +gcp_credentials: ENCRYPTED[!1fcffe5cc2de4fbbda5befae835ca275a47c1148dabbbb7b5d21334604efba3ef8730d8bc5820952e575c7dd5177e433!] + +# +# ENV VARIABLES +# +env: + ### Shared variables + ARTIFACTORY_URL: ENCRYPTED[!2f8fa307d3289faa0aa6791f18b961627ae44f1ef46b136e1a1e63b0b4c86454dbb25520d49b339e2d50a1e1e5f95c88!] + ARTIFACTORY_PRIVATE_USERNAME: private-reader + ARTIFACTORY_PRIVATE_PASSWORD: ENCRYPTED[!921e2792ce1fc164aaea1146ab2478e7aefd8aaa87022ca745adccee4deaa470bb883ad3066738fceb37622f239296a7!] + ARTIFACTORY_API_KEY: ENCRYPTED[!f9526e763214dcd6f0cac5fbf712664bcf05395cc5c8f9f122ccf3a4c6d42c2bc809bff8a6d9904c935a47a05676682c!] + ARTIFACTORY_DEPLOY_USERNAME: public-qa-deployer + ARTIFACTORY_DEPLOY_PASSWORD: ENCRYPTED[!ee8f6410a42b81c6c91c7b760e7be7796a7774b6e6e6acf3ff2ecf8c7c04c732865a0300673ea41155c0d19a989c0a5a!] + ARTIFACTORY_DEPLOY_REPO: sonarsource-public-qa + + GCF_ACCESS_TOKEN: ENCRYPTED[!1fb91961a5c01e06e38834e55755231d649dc62eca354593105af9f9d643d701ae4539ab6a8021278b8d9348ae2ce8be!] + PROMOTE_URL: ENCRYPTED[!e22ed2e34a8f7a1aea5cff653585429bbd3d5151e7201022140218f9c5d620069ec2388f14f83971e3fd726215bc0f5e!] + + GITHUB_TOKEN: ENCRYPTED[!f272985ea5b49b3cf9c414b98de6a8e9096be47bfcee52f33311ba3131a2af637c1b956f49585b7757dd84b7c030233a!] + + BURGR_URL: ENCRYPTED[!c7e294da94762d7bac144abef6310c5db300c95979daed4454ca977776bfd5edeb557e1237e3aa8ed722336243af2d78!] + BURGR_USERNAME: ENCRYPTED[!b29ddc7610116de511e74bec9a93ad9b8a20ac217a0852e94a96d0066e6e822b95e7bc1fe152afb707f16b70605fddd3!] + BURGR_PASSWORD: ENCRYPTED[!83e130718e92b8c9de7c5226355f730e55fb46e45869149a9223e724bb99656878ef9684c5f8cfef434aa716e87f4cf2!] + + ### Project variables + DEPLOY_PULL_REQUEST: true + ARTIFACTS: org.sonarsource.scanner.cli:sonar-scanner-cli:jar + + +# +# RE-USABLE CONFIGS +# +container_definition: &CONTAINER_DEFINITION + image: gcr.io/ci-cd-215716/base:latest + cluster_name: cirrus-uscentral1a-cluster + zone: us-central1-a + namespace: default + +only_sonarsource_qa: &ONLY_SONARSOURCE_QA + only_if: $CIRRUS_USER_COLLABORATOR == 'true' && ($CIRRUS_PR != "" || $CIRRUS_BRANCH == "master" || $CIRRUS_BRANCH =~ "branch-.*" || $CIRRUS_BRANCH =~ "dogfood-on-.*") + + +# +# TASKS +# +build_task: + gke_container: + <<: *CONTAINER_DEFINITION + cpu: 1 + memory: 2G + env: + SONAR_TOKEN: ENCRYPTED[!5ba7cbb5bf9d168de69bcd444d9e884c9cf664be1115640cc64e49df6d241c309a87fc527cab533c08f289b167187017!] + SONAR_HOST_URL: https://next.sonarqube.com/sonarqube + maven_cache: + folder: ${CIRRUS_WORKING_DIR}/.m2/repository + script: + - source cirrus-env BUILD + - regular_mvn_build_deploy_analyze -Pdist-linux,dist-windows,dist-macosx + cleanup_before_cache_script: + - cleanup_maven_repository + +linux_qa_task: + depends_on: + - build + <<: *ONLY_SONARSOURCE_QA + gke_container: + dockerfile: it/docker/Dockerfile + builder_image_project: ci-cd-215716 + builder_image_name: docker-builder-v2 + cluster_name: cirrus-uscentral1a-cluster + zone: us-central1-a + namespace: default + cpu: 1 + memory: 2G + env: + matrix: + - SQ_VERSION: LATEST_RELEASE[7.9] + - SQ_VERSION: DEV + maven_cache: + folder: ${CIRRUS_WORKING_DIR}/.m2/repository + qa_script: + - source cirrus-env QA + - source set_maven_build_version $BUILD_NUMBER + - cd it + - mvn -B -e -Dsonar.runtimeVersion="$SQ_VERSION" -Dmaven.test.redirectTestOutputToFile=false verify + cleanup_before_cache_script: + - cleanup_maven_repository + +create_win_vm_task: + <<: *ONLY_SONARSOURCE_QA + skip: "!changesInclude('it/packer/setup.ps1', 'it/packer/sonar-scanner-cli-qa.json')" + gce_instance: + image_project: ci-cd-215716 + image_name: packer-builder-v1 + zone: us-central1-a + type: n1-standard-8 + use_ssd: true + scopes: + - cloud-platform + build_script: + - packer build -force it/packer/sonar-scanner-cli-qa.json + +win_qa_task: + depends_on: + - create_win_vm + - build + <<: *ONLY_SONARSOURCE_QA + gce_instance: + image_project: ci-cd-215716 + # This VM is built using Packer, see "create_win_vm_task" above. + image_name: sonar-scanner-cli-qa + platform: windows + zone: us-central1-a + type: n1-standard-8 + use_ssd: true + env: + CIRRUS_SHELL: bash + matrix: + - SQ_VERSION: LATEST_RELEASE[7.9] + - SQ_VERSION: DEV + maven_cache: + folder: ${CIRRUS_WORKING_DIR}/.m2/repository + qa_script: + - source cirrus-env QA + - source set_maven_build_version $BUILD_NUMBER + - cd it + - mvn -B -e -Dsonar.runtimeVersion="$SQ_VERSION" -Dmaven.test.redirectTestOutputToFile=false verify + cleanup_before_cache_script: + - cleanup_maven_repository + +promote_task: + depends_on: + - linux_qa + - win_qa + <<: *ONLY_SONARSOURCE_QA + gke_container: + <<: *CONTAINER_DEFINITION + cpu: 0.5 + memory: 500M + maven_cache: + folder: $CIRRUS_WORKING_DIR/.m2/repository + script: + - cirrus_promote_maven + cleanup_before_cache_script: + - cleanup_maven_repository |