aboutsummaryrefslogtreecommitdiffstats
path: root/.cirrus.yml
diff options
context:
space:
mode:
authorWouter Admiraal <wouter.admiraal@sonarsource.com>2020-03-04 10:53:12 +0100
committerWouter Admiraal <45544358+wouter-admiraal-sonarsource@users.noreply.github.com>2020-03-05 11:53:22 +0100
commitae038e155d03502e1dcd154408f29a057f089456 (patch)
tree41d2282274a704e28ad96dbe937fbdfbbd333e16 /.cirrus.yml
parent6da9b4b0c066d1e524a27aebc74cfd8d1b8ab19a (diff)
downloadsonar-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.yml146
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