123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569 |
- # content of service-account-credentials.json, used to access to Google Cloud Platform
- gcp_credentials: ENCRYPTED[!e5f7207bd8d02d383733bef47e18296ac32e3b7d22eb480354e8dd8fdc0004be45a8a4e72c797bd66ee94eb3340fa363!]
-
- env:
- GRADLE_OPTS: -Dorg.gradle.daemon=false -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"
- # to be replaced by other credentials
- ARTIFACTORY_PRIVATE_USERNAME: repox-private-reader
- ARTIFACTORY_PRIVATE_PASSWORD: ENCRYPTED[!35ca4446564213d4fd2d1a96e42a871d5de6e6aac4e1dd3e89342892a60a2badf74a966bcc8e885e9c9d09a775ffe4c0!]
- ARTIFACTORY_DEPLOY_USERNAME: repox-qa-deployer
- ARTIFACTORY_DEPLOY_PASSWORD: ENCRYPTED[!d484e19f33c9ce63b165f70e414a33b1ac6c215a126791aacbf8059626caf0fd8a78e999a20af5c1a4ba01c0b0247921!]
- ARTIFACTORY_API_KEY: ENCRYPTED[60f92cec4bf8446867dce41fe8dc77457f10065b82a24bfa3924d496aa1c14b89b531b86c3a34274abb12cf9a4cb36c4]
- # download licenses for testing commercial editions
- GITHUB_TOKEN: ENCRYPTED[!f272985ea5b49b3cf9c414b98de6a8e9096be47bfcee52f33311ba3131a2af637c1b956f49585b7757dd84b7c030233a!]
- # use a permanent GitHub access token to perform a clone (by default CirrusCI uses a temporary one)
- CIRRUS_REPO_CLONE_TOKEN: ENCRYPTED[f20fee6519296187a473964e60afb08a1bbdc889a624fad0297b41a21d8697f8d2da4d2d245194ade630dcf46b4b581e]
- # notifications to burgr
- BURGR_URL: ENCRYPTED[24fba83587c1e9ed372b6cfdf12e4739ebe3b6e5b5082f1a2a742e840dd2e4b61fd5e281bf2632b22b3ad346c650c05c]
- BURGR_USERNAME: ENCRYPTED[cf7bfb936025fb763013bbfef0ab5723c0d9b53f135d79af36f9defa933f4b5fc72842bd83a97ce9b614503c1b77e6da]
- BURGR_PASSWORD: ENCRYPTED[bc554fc6a06c9f14cc9924cefad0a69e962a905b6d1609fc9357d458b45fc52ac74c960ad9c7382a0691433fa9dcd483]
- # analysis on next.sonarqube.com
- SONARQUBE_NEXT_TOKEN: ENCRYPTED[!0d599f9fb1613db33388821ca04af23f090729902b4421ad0a53cea8393d1e9039f2e47d65a246781b0e2c3718c172a1!]
- # to trigger docs deployment
- BUDDY_WORKS_TOKEN: ENCRYPTED[9ba648f3167b6f0c0befbba2f816bfffd53260fef06fb0fe8bba0a19ae4808c8b1567c5dcee2a2ee5299a5969058f495]
- ELASTIC_PWD: ENCRYPTED[78c127034b9f06bc1b5ad7a520de2da094f3eaf1dcb35f12b0f178fa90ce2fd157bd6f9feece9bf3a54b4e3805bc39fb]
- CIRRUS_LOG_TIMESTAMP: true
-
- auto_cancellation: $CIRRUS_BRANCH != 'master' && $CIRRUS_BRANCH !=~ 'branch.*' && $CIRRUS_BRANCH != 'dogfood-on-next'
-
- only_nightly_depending_on_build_template: &ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
- depends_on: build
- # Comment the following line and commit with message "DO NOT MERGE" in order to run
- # this task on your branch
- only_if: $CIRRUS_BRANCH == "branch-nightly-build"
-
- only_default_depending_on_build_template: &ONLY_DEFAUT_DEPENDING_ON_BUILD_TEMPLATE
- depends_on: build
- only_if: >-
- $CIRRUS_BRANCH !=~ "dogfood/.*" &&
- $CIRRUS_BRANCH != "public_master" &&
- $CIRRUS_CRON == ""
-
- docker_build_container_template: &GKE_CONTAINER_TEMPLATE
- dockerfile: private/docker/Dockerfile-build
- builder_image_project: sonarqube-team
- builder_image_name: docker-builder-v20200915
- cluster_name: cirrus-ci-cluster
- zone: us-central1-a
- namespace: default
- cpu: 1
- memory: 1Gb
-
- oracle_additional_container_template: &ORACLE_ADDITIONAL_CONTAINER_TEMPLATE
- name: oracle
- image: us.gcr.io/sonarqube-team/oracle12:0.0.1 # see https://github.com/SonarSource/vms/blob/master/docker/README.md#oracle-12c to build it
- port: 1521
- cpu: 2
- memory: 5Gb
- env:
- ORACLE_PWD: sonarqube
-
- postgres_additional_container_template: &POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
- name: postgres
- image: postgres:13.2
- port: 5432
- cpu: 1
- memory: 1Gb
- env:
- POSTGRES_USER: postgres
- POSTGRES_PASSWORD: postgres
-
- reports_junit_on_failure_template: &REPORTS_JUNIT_ON_FAILURE_TEMPLATE
- jest_junit_cleanup_script: >
- find . -type f -wholename "**/build/test-results/test-jest/junit.xml" -exec
- xmlstarlet edit --inplace --delete '//testsuite[@errors=0 and @failures=0]' {} \;
- reports_artifacts:
- path: "**/build/reports/**/*"
- junit_artifacts:
- path: "**/build/test-results/**/*.xml"
- format: junit
-
- screenshots_on_failure_template: &REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
- <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
- screenshots_artifacts:
- path: "**/build/screenshots/**/*"
-
- yarn_cache_template: &YARN_CACHE_TEMPLATE
- yarn_cache:
- folder: "~/.yarn/berry/cache"
- fingerprint_script: |
- cat \
- server/sonar-web/yarn.lock \
- server/sonar-docs/yarn.lock \
- private/core-extension-governance/yarn.lock \
- private/core-extension-license/yarn.lock \
- private/core-extension-securityreport/yarn.lock
-
- custom_clone_script_template: &CUSTOM_CLONE_SCRIPT_TEMPLATE
- clone_script: |
- 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
- git fetch origin $CIRRUS_CHANGE_IN_REPO --depth=1
- git reset --hard $CIRRUS_CHANGE_IN_REPO
-
- build_task:
- <<: *YARN_CACHE_TEMPLATE
- only_if: >-
- $CIRRUS_BRANCH !=~ "dogfood/.*" &&
- $CIRRUS_BRANCH != "public_master" &&
- $CIRRUS_CRON == ""
- timeout_in: 90m
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- cpu: 4
- memory: 7Gb
- env:
- # No need to clone the full history.
- # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
- # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
- CIRRUS_CLONE_DEPTH: 50
- ORG_GRADLE_PROJECT_signingKey: ENCRYPTED[!cc216dfe592f79db8006f2a591f8f98b40aa2b078e92025623594976fd32f6864c1e6b6ba74b50647f608e2418e6c336!]
- ORG_GRADLE_PROJECT_signingPassword: ENCRYPTED[!314a8fc344f45e462dd5e8dccd741d7562283a825e78ebca27d4ae9db8e65ce618e7f6aece386b2782a5abe5171467bd!]
- ORG_GRADLE_PROJECT_signingKeyId: 0x7DCD4258
- elasticsearch_distribution_cache:
- folder: sonar-application/build/elasticsearch-**.tar.gz
- script:
- - ./private/cirrus/cirrus-build.sh
- on_failure:
- reports_artifacts:
- path: "**/build/reports/**/*"
-
- validate_task:
- <<: *ONLY_DEFAUT_DEPENDING_ON_BUILD_TEMPLATE
- <<: *YARN_CACHE_TEMPLATE
- timeout_in: 90m
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- cpu: 6.5
- memory: 16Gb
- additional_containers:
- - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
- script:
- - ./private/cirrus/cirrus-validate.sh postgres106
- on_failure:
- <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
-
- yarn_check-ci_task:
- <<: *ONLY_DEFAUT_DEPENDING_ON_BUILD_TEMPLATE
- <<: *YARN_CACHE_TEMPLATE
- timeout_in: 90m
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- cpu: 4
- memory: 8Gb
- script: |
- ./private/cirrus/cirrus-env.sh YARN
- gradle yarn_check-ci
- on_failure:
- <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
-
- qa_task:
- <<: *ONLY_DEFAUT_DEPENDING_ON_BUILD_TEMPLATE
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- cpu: 3
- memory: 7Gb
- additional_containers:
- - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
- env:
- # No need to clone the full history.
- # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
- # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
- CIRRUS_CLONE_DEPTH: 50
- matrix:
- - QA_CATEGORY: Cat1
- - QA_CATEGORY: Cat2
- - QA_CATEGORY: Cat3
- - QA_CATEGORY: Cat4
- - QA_CATEGORY: Cat5
- - QA_CATEGORY: Cat6
- - QA_CATEGORY: Cat7
- - QA_CATEGORY: Authentication
- - QA_CATEGORY: Gov
- - QA_CATEGORY: Dev
- - QA_CATEGORY: License
- - QA_CATEGORY: Branch
- - QA_CATEGORY: Upgrade
- script:
- - ./private/cirrus/cirrus-qa.sh postgres106
- on_failure:
- <<: *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
-
- task: #bitbucket
- <<: *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- cpu: 3
- memory: 7Gb
- additional_containers:
- - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
- maven_cache:
- folder: ~/.m2
- env:
- # No need to clone the full history.
- # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
- # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
- CIRRUS_CLONE_DEPTH: 50
- QA_CATEGORY: BITBUCKET
- matrix:
- - name: qa_bitbucket_5.15.0
- bitbucket_background_script: ./private/cirrus/cirrus-start-bitbucket.sh 5.15.0
- - name: qa_bitbucket_latest
- bitbucket_background_script: ./private/cirrus/cirrus-start-bitbucket.sh LATEST
- 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
- script:
- - ./private/cirrus/cirrus-qa.sh postgres106
- on_failure:
- <<: *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
-
- qa_bb_cloud_task:
- <<: *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- cpu: 2.4
- memory: 5Gb
- env:
- # No need to clone the full history.
- # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
- # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
- CIRRUS_CLONE_DEPTH: 50
- QA_CATEGORY: BITBUCKET_CLOUD
- BBC_CLIENT_ID: ENCRYPTED[f1c2c57d5f02885345b3db5776a3b28f5dbcc89723809f73ad05ada903ece9584f1dfe61b026c10eabd72c75d1258bac]
- BBC_CLIENT_SECRET: ENCRYPTED[39cc89ce4695c243fd688e687879bd473a60882fd30ba8613d6697e5d2b04e2017c68cae3a9a7ed9704f69c52bf229ee]
- BBC_READ_REPOS_APP_PASSWORD: ENCRYPTED[d33b02d02987e188b5cec2a14f6ddd04d1fcac39ed5d6ced08891fc562ebb6721c9fbf307c0eba81df78c83f75b3c27c]
- BBC_USERNAME: ENCRYPTED[f0af9be9d2fbaa55fbf69e4fce706ebc9131e0dc22cf8bce5d7ab2e0c2b57aff3ddbf6b3b77166e803a6000276256cea]
- gradle_cache:
- folder: ~/.gradle/caches
- script:
- - ./private/cirrus/cirrus-qa.sh h2
- cleanup_before_cache_script:
- - ./private/cirrus/cleanup-gradle-cache.sh
- on_failure:
- <<: *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
-
- qa_ha_task:
- <<: *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- cpu: 2.4
- memory: 10Gb
- additional_containers:
- - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
- env:
- # No need to clone the full history.
- # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
- # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
- CIRRUS_CLONE_DEPTH: 50
- QA_CATEGORY: HA
- gradle_cache:
- folder: ~/.gradle/caches
- script:
- - ./private/cirrus/cirrus-qa.sh postgres106
- cleanup_before_cache_script:
- - ./private/cirrus/cleanup-gradle-cache.sh
- on_failure:
- <<: *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
-
- docker_gitlab_container_build_task:
- only_if: $CIRRUS_BRANCH == "branch-nightly-build"
- gce_instance:
- image_project: sonarqube-team
- image_family: docker-builder
- zone: us-central1-a
- preemptible: true
- disk: 10
- cpu: 4
- memory: 8G
- env:
- CIRRUS_CLONE_DEPTH: 3
- matrix:
- - GITLAB_TAG: latest
- - GITLAB_TAG: 11.7.0-ce.0
- build_script:
- - docker pull "us.gcr.io/sonarqube-team/sq-gitlab:${GITLAB_TAG}" || true
- - docker build --build-arg "GITLAB_TAG=${GITLAB_TAG}" --cache-from "us.gcr.io/sonarqube-team/sq-gitlab:${GITLAB_TAG}" -t "us.gcr.io/sonarqube-team/sq-gitlab:${GITLAB_TAG}" private/docker/gitlab/
- - docker push "us.gcr.io/sonarqube-team/sq-gitlab:${GITLAB_TAG}"
-
- # 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.
- qa_gitlab_task:
- <<: *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
- depends_on:
- - build
- - docker_gitlab_container_build
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- cpu: 2.4
- memory: 5Gb
- use_in_memory_disk: true
- additional_containers:
- - name: gitlab
- ports:
- - 80
- - 443
- cpu: 2
- memory: 5Gb
- matrix:
- - image: us.gcr.io/sonarqube-team/sq-gitlab:latest
- - image: us.gcr.io/sonarqube-team/sq-gitlab:11.7.0-ce.0
- env:
- # No need to clone the full history.
- # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
- # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
- CIRRUS_CLONE_DEPTH: 50
- QA_CATEGORY: GITLAB
- gradle_cache:
- folder: ~/.gradle/caches
- script:
- - ./private/cirrus/cirrus-qa.sh h2
- cleanup_before_cache_script:
- - ./private/cirrus/cleanup-gradle-cache.sh
- on_failure:
- <<: *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
-
- # Azure QA is executed in a dedicated task in order to not slow down the pipeline.
- qa_azure_task:
- <<: *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- cpu: 2.4
- memory: 5Gb
- env:
- # No need to clone the full history.
- # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
- # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
- CIRRUS_CLONE_DEPTH: 50
- QA_CATEGORY: AZURE
- AZURE_USERNAME_LOGIN: ENCRYPTED[dcdf19769c1501408ebc22670c76d5e375cd739de2df5dfa3f215aa795296dfb257dbbcbe9bdfd33135feb04421fea1f]
- AZURE_CODE_READ_AND_WRITE_TOKEN: ENCRYPTED[eddc3448b40e72310f24f21241bdc1243860139d1a5aad593b016baedf03e4bba3f9e3d8d9f6329fe3b587966a8112d2]
- AZURE_FULL_ACCESS_TOKEN: ENCRYPTED[58779d6588e2e10d1b6f98fcc58a46957f8ef3a18e29d79abc6aa8d69ea55c23d8708e1f1af626464d309b1c7c087985]
- gradle_cache:
- folder: ~/.gradle/caches
- script:
- - ./private/cirrus/cirrus-qa.sh h2
- cleanup_before_cache_script:
- - ./private/cirrus/cleanup-gradle-cache.sh
- on_failure:
- <<: *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
-
- # SAML QA is executed in a dedicated task in order to not slow down the pipeline, as a Keycloak server docker image is required.
- qa_saml_task:
- <<: *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- cpu: 2.4
- memory: 10Gb
- additional_containers:
- - name: keycloak
- image: jboss/keycloak:7.0.0
- port: 8080
- cpu: 1
- memory: 1Gb
- env:
- KEYCLOAK_USER: admin
- KEYCLOAK_PASSWORD: admin
- env:
- # No need to clone the full history.
- # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
- # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
- CIRRUS_CLONE_DEPTH: 50
- QA_CATEGORY: SAML
- gradle_cache:
- folder: ~/.gradle/caches
- script:
- - ./private/cirrus/cirrus-qa.sh h2
- cleanup_before_cache_script:
- - ./private/cirrus/cleanup-gradle-cache.sh
- on_failure:
- <<: *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
-
- # 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.
- qa_ldap_task:
- <<: *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- cpu: 2.4
- memory: 10Gb
- env:
- # No need to clone the full history.
- # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
- # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
- CIRRUS_CLONE_DEPTH: 50
- QA_CATEGORY: LDAP
- gradle_cache:
- folder: ~/.gradle/caches
- script:
- - ./private/cirrus/cirrus-qa.sh h2
- cleanup_before_cache_script:
- - ./private/cirrus/cleanup-gradle-cache.sh
- on_failure:
- <<: *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
-
- promote_task:
- <<: *ONLY_DEFAUT_DEPENDING_ON_BUILD_TEMPLATE
- depends_on:
- - build
- - validate
- - qa
- - qa_saml
- - qa_ldap
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- stateful: true
- env:
- # No need to clone the full history.
- # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
- # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
- CIRRUS_CLONE_DEPTH: 50
- script:
- - ./private/cirrus/cirrus-promote.sh
-
- deploy_docs_task:
- depends_on: promote
- skip: true
- only_if: $CIRRUS_BRANCH == 'dogfood-on-next'
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- env:
- # No need to clone the full history.
- # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
- # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
- CIRRUS_CLONE_DEPTH: 50
- script:
- - ./private/cirrus/cirrus-trigger-deploy-docs.sh
-
- package_docker_task:
- depends_on: promote
- only_if: $CIRRUS_BRANCH == 'dogfood-on-next'
- gce_instance:
- image_project: sonarqube-team
- image_family: docker-builder
- zone: us-central1-a
- disk: 10
- cpu: 4
- memory: 8G
- <<: *CUSTOM_CLONE_SCRIPT_TEMPLATE
- install_tooling_script:
- - ./private/cirrus/cirrus-tooling-for-package-docker.sh
- package_script:
- - ./private/cirrus/cirrus-package-docker.sh
-
- sql_mssql2017_task:
- <<: *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- memory: 5Gb
- additional_containers:
- - name: mssql
- image: mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04
- port: 1433
- cpu: 2
- memory: 5Gb
- env:
- MSSQL_PID: Developer # this is the default edition
- ACCEPT_EULA: Y
- SA_PASSWORD: sonarqube!1
- script:
- - ./private/cirrus/cirrus-db-unit-test.sh mssql2017
- on_failure:
- <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
-
- # this is the oldest compatible version of PostgreSQL
- sql_postgres96_task:
- <<: *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- memory: 5Gb
- additional_containers:
- - <<: *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
- image: postgres:9.6
- script:
- - ./private/cirrus/cirrus-db-unit-test.sh postgres96
- on_failure:
- <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
-
- sql_oracle12_task:
- <<: *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- memory: 5Gb
- additional_containers:
- - <<: *ORACLE_ADDITIONAL_CONTAINER_TEMPLATE
- script:
- - ./private/cirrus/cirrus-db-unit-test.sh oracle12
- on_failure:
- <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
-
- upgd_mssql2019_task:
- <<: *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- cpu: 1.5
- memory: 6Gb
- additional_containers:
- - name: mssql
- image: mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04
- port: 1433
- cpu: 2
- memory: 5Gb
- env:
- MSSQL_PID: Developer # this is the default edition
- ACCEPT_EULA: Y
- SA_PASSWORD: sonarqube!1
- env:
- # No need to clone the full history.
- # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
- # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
- CIRRUS_CLONE_DEPTH: 50
- matrix:
- QA_CATEGORY: Upgrade
- script:
- - ./private/cirrus/cirrus-qa.sh mssql2017
- on_failure:
- <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
-
- upgd_oracle12_task:
- <<: *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- cpu: 1.5
- memory: 6Gb
- additional_containers:
- - <<: *ORACLE_ADDITIONAL_CONTAINER_TEMPLATE
- env:
- # No need to clone the full history.
- # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
- # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
- CIRRUS_CLONE_DEPTH: 50
- matrix:
- QA_CATEGORY: Upgrade
- script:
- - ./private/cirrus/cirrus-qa.sh oracle12
- on_failure:
- <<: *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
-
- # Software Composition Analysis (SCA): check potential vulnerabilities in dependencies.
- # Note that license compliance of dependencies is not checked for now.
- owasp_check_task:
- only_if: >-
- $CIRRUS_CRON == "nightly" ||
- $CIRRUS_CRON == "weekly-latest" ||
- $CIRRUS_CRON == "weekly-lts" ||
- changesInclude('private/owasp/*.xml')
- timeout_in: 30m
- gke_container:
- <<: *GKE_CONTAINER_TEMPLATE
- cpu: 1.7
- memory: 4Gb
- environment:
- # No need to clone the full history.
- # Depth of 1 is not enough because it would fail the build in case of consecutive pushes
- # (example of error: "Hard resetting to c968ecaf7a1942dacecd78480b3751ac74d53c33...Failed to force reset to c968ecaf7a1942dacecd78480b3751ac74d53c33: object not found!")
- CIRRUS_CLONE_DEPTH: 50
- SLACK_WEBHOOK_SQ: ENCRYPTED[dec8e4350cbea3b94d63098558bcb3ae9e79b71c2b6286fcfb9eb80c0953b6448b10f7271b07b5e75e52f362c25d7a8f]
- script:
- - gradle dependencyCheckAggregate
- on_failure:
- slack_notification_script:
- - ./private/cirrus/cirrus-owasp-notification.sh
- always:
- reports_artifacts:
- path: "build/reports/*"
|