aboutsummaryrefslogtreecommitdiffstats
path: root/.cirrus.yml
blob: 9e677ef825868343fea083ee8a4d782a3d8b5575 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
gcp_credentials: ENCRYPTED[!17c59813193e86cc337bce848b358412b90f50bc5fe1b8b39d363cdf14a41ebe76cfba0482e7f81d076994b9f6dbfb4c!]
 
env:
  CIRRUS_CLONE_DEPTH: 20
  ARTIFACTORY_URL: ENCRYPTED[!2f8fa307d3289faa0aa6791f18b961627ae44f1ef46b136e1a1e63b0b4c86454dbb25520d49b339e2d50a1e1e5f95c88!]
  ARTIFACTORY_PRIVATE_USERNAME: private-reader
  ARTIFACTORY_PRIVATE_PASSWORD: ENCRYPTED[!921e2792ce1fc164aaea1146ab2478e7aefd8aaa87022ca745adccee4deaa470bb883ad3066738fceb37622f239296a7!]
  ARTIFACTORY_DEPLOY_USERNAME: public-qa-deployer
  ARTIFACTORY_DEPLOY_PASSWORD: ENCRYPTED[!ee8f6410a42b81c6c91c7b760e7be7796a7774b6e6e6acf3ff2ecf8c7c04c732865a0300673ea41155c0d19a989c0a5a!]
  #Possible values for ARTIFACTORY_DEPLOY_REPO: sonarsource-private-qa, sonarsource-public-qa
  ARTIFACTORY_DEPLOY_REPO: sonarsource-public-qa
  ARTIFACTORY_API_KEY: ENCRYPTED[!f9526e763214dcd6f0cac5fbf712664bcf05395cc5c8f9f122ccf3a4c6d42c2bc809bff8a6d9904c935a47a05676682c!]
  # burgr notification
  BURGR_URL: ENCRYPTED[!c7e294da94762d7bac144abef6310c5db300c95979daed4454ca977776bfd5edeb557e1237e3aa8ed722336243af2d78!]
  BURGR_USERNAME: ENCRYPTED[!b29ddc7610116de511e74bec9a93ad9b8a20ac217a0852e94a96d0066e6e822b95e7bc1fe152afb707f16b70605fddd3!]
  BURGR_PASSWORD: ENCRYPTED[!83e130718e92b8c9de7c5226355f730e55fb46e45869149a9223e724bb99656878ef9684c5f8cfef434aa716e87f4cf2!]

container_definition: &CONTAINER_DEFINITION
  image: gcr.io/language-team/base:latest
  cluster_name: cirrus-ci-lt-cluster
  zone: us-central1-a
  namespace: default

win_vm_definition: &WINDOWS_VM_DEFINITION
  gce_instance:
    image_project: language-team
    image_family: lt-base-windows
    platform: windows
    zone: us-central1-a
    preemptible: false
    disk: 60
    type: n1-standard-4

only_sonarsource_qa: &ONLY_SONARSOURCE_QA
  only_if: $CIRRUS_USER_COLLABORATOR == 'true' && ($CIRRUS_PR != "" || $CIRRUS_BRANCH == "master" || $CIRRUS_BRANCH =~ "branch-.*" || $CIRRUS_BRANCH =~ "dogfood-on-.*")

build_task:
  gke_container:
    <<: *CONTAINER_DEFINITION
    cpu: 2
    memory: 2G
  env:
    GITHUB_TOKEN: ENCRYPTED[!a4048528b1a03f194719e3295c10e46c1e197c706b3d7c71dfc93540535aa9012ae61c3b66d0d6c6901b6a5e0bd84c68!]
    # analysis on next
    SONAR_TOKEN: ENCRYPTED[!5ba7cbb5bf9d168de69bcd444d9e884c9cf664be1115640cc64e49df6d241c309a87fc527cab533c08f289b167187017!]
    SONAR_HOST_URL: https://next.sonarqube.com/sonarqube
    #allow deployment of pull request artifacts to repox
    DEPLOY_PULL_REQUEST: true
  maven_cache:
    folder: $CIRRUS_WORKING_DIR/.m2/repository
  build_script:
    - source cirrus-env BUILD
    - regular_mvn_build_deploy_analyze
  cleanup_before_cache_script: cleanup_maven_repository

build_win_task:
  <<: *WINDOWS_VM_DEFINITION
  build_script:
    - mvn.cmd test
 
plugin_qa_task:
  depends_on:
    - build
  <<: *ONLY_SONARSOURCE_QA
  gke_container:
    dockerfile: .cirrus/nodejs-lts.Dockerfile
    builder_image_project: language-team
    builder_image_name: docker-builder-lt-v1
    cluster_name: cirrus-ci-lt-cluster
    zone: us-central1-a
    namespace: default
    cpu: 3
    memory: 8G
  env:
    matrix:
      - SQ_VERSION: LATEST_RELEASE[7.9]
      - SQ_VERSION: DOGFOOD
  maven_cache:
    folder: $CIRRUS_WORKING_DIR/.m2/repository
  qa_script:
    - source cirrus-env QA
    - source set_maven_build_version $BUILD_NUMBER
    - cd its/plugin
    - mvn verify -Dsonar.runtimeVersion=${SQ_VERSION} -Dmaven.test.redirectTestOutputToFile=false -B -e -V
  cleanup_before_cache_script: cleanup_maven_repository
 
promote_task:
  depends_on:
    - plugin_qa
  <<: *ONLY_SONARSOURCE_QA
  gke_container:
    <<: *CONTAINER_DEFINITION
    cpu: 0.5
    memory: 500M
  env:
    #promotion cloud function
    GCF_ACCESS_TOKEN: ENCRYPTED[!1fb91961a5c01e06e38834e55755231d649dc62eca354593105af9f9d643d701ae4539ab6a8021278b8d9348ae2ce8be!]
    PROMOTE_URL: ENCRYPTED[!e22ed2e34a8f7a1aea5cff653585429bbd3d5151e7201022140218f9c5d620069ec2388f14f83971e3fd726215bc0f5e!]
    #artifacts that will have downloadable links in burgr
    ARTIFACTS: org.sonarsource.css:sonar-css-plugin:jar
  maven_cache:
    folder: $CIRRUS_WORKING_DIR/.m2/repository
  script: cirrus_promote_maven
  cleanup_before_cache_script: cleanup_maven_repository