2018-08-29 10:25:32 +02:00
# content of service-account-credentials.json, used to access to Google Cloud Platform
2021-04-23 08:10:34 +02:00
gcp_credentials : ENCRYPTED[!e5f7207bd8d02d383733bef47e18296ac32e3b7d22eb480354e8dd8fdc0004be45a8a4e72c797bd66ee94eb3340fa363!]
2018-08-29 10:25:32 +02:00
env :
2018-10-11 14:59:34 +02:00
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"
2018-08-29 10:25:32 +02:00
# to be replaced by other credentials
2021-04-28 09:17:43 +02:00
ARTIFACTORY_PRIVATE_USERNAME : repox-private-reader
ARTIFACTORY_PRIVATE_PASSWORD : ENCRYPTED[!35ca4446564213d4fd2d1a96e42a871d5de6e6aac4e1dd3e89342892a60a2badf74a966bcc8e885e9c9d09a775ffe4c0!]
ARTIFACTORY_DEPLOY_USERNAME : repox-qa-deployer
ARTIFACTORY_DEPLOY_PASSWORD : ENCRYPTED[!d484e19f33c9ce63b165f70e414a33b1ac6c215a126791aacbf8059626caf0fd8a78e999a20af5c1a4ba01c0b0247921!]
2021-04-23 08:58:05 +02:00
ARTIFACTORY_API_KEY : ENCRYPTED[60f92cec4bf8446867dce41fe8dc77457f10065b82a24bfa3924d496aa1c14b89b531b86c3a34274abb12cf9a4cb36c4]
2018-08-29 10:25:32 +02:00
# download licenses for testing commercial editions
2020-02-14 09:44:37 +01:00
GITHUB_TOKEN : ENCRYPTED[!f272985ea5b49b3cf9c414b98de6a8e9096be47bfcee52f33311ba3131a2af637c1b956f49585b7757dd84b7c030233a!]
2019-04-04 11:49:30 +02:00
# use a permanent GitHub access token to perform a clone (by default CirrusCI uses a temporary one)
CIRRUS_REPO_CLONE_TOKEN : ENCRYPTED[f20fee6519296187a473964e60afb08a1bbdc889a624fad0297b41a21d8697f8d2da4d2d245194ade630dcf46b4b581e]
2018-08-29 10:25:32 +02:00
# notifications to burgr
2021-03-12 08:45:25 +01:00
BURGR_URL : ENCRYPTED[24fba83587c1e9ed372b6cfdf12e4739ebe3b6e5b5082f1a2a742e840dd2e4b61fd5e281bf2632b22b3ad346c650c05c]
2021-03-12 08:44:03 +01:00
BURGR_USERNAME : ENCRYPTED[cf7bfb936025fb763013bbfef0ab5723c0d9b53f135d79af36f9defa933f4b5fc72842bd83a97ce9b614503c1b77e6da]
BURGR_PASSWORD : ENCRYPTED[bc554fc6a06c9f14cc9924cefad0a69e962a905b6d1609fc9357d458b45fc52ac74c960ad9c7382a0691433fa9dcd483]
2018-08-29 10:25:32 +02:00
# analysis on next.sonarqube.com
2021-09-15 17:08:11 +02:00
SONARQUBE_NEXT_TOKEN : ENCRYPTED[!0d599f9fb1613db33388821ca04af23f090729902b4421ad0a53cea8393d1e9039f2e47d65a246781b0e2c3718c172a1!]
2020-03-19 10:45:06 +01:00
# to trigger docs deployment
BUDDY_WORKS_TOKEN : ENCRYPTED[9ba648f3167b6f0c0befbba2f816bfffd53260fef06fb0fe8bba0a19ae4808c8b1567c5dcee2a2ee5299a5969058f495]
2021-07-12 15:06:40 +02:00
ELASTIC_PWD : ENCRYPTED[78c127034b9f06bc1b5ad7a520de2da094f3eaf1dcb35f12b0f178fa90ce2fd157bd6f9feece9bf3a54b4e3805bc39fb]
2021-08-12 16:28:51 +02:00
CIRRUS_LOG_TIMESTAMP : true
2018-08-29 10:25:32 +02:00
2021-08-25 13:22:55 +02:00
auto_cancellation : $CIRRUS_BRANCH != 'master' && $CIRRUS_BRANCH !=~ 'branch.*' && $CIRRUS_BRANCH != 'dogfood-on-next'
2018-11-06 17:22:13 +01:00
2021-04-23 08:10:54 +02:00
only_nightly_depending_on_build_template : &ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
2020-09-01 17:45:14 +02:00
depends_on : build
# Comment the following line and commit with message "DO NOT MERGE" in order to run
# this task on your branch
2021-02-12 18:07:51 +01:00
only_if : $CIRRUS_BRANCH == "branch-nightly-build"
2020-09-01 17:45:14 +02:00
2021-04-23 08:10:54 +02:00
only_default_depending_on_build_template : &ONLY_DEFAUT_DEPENDING_ON_BUILD_TEMPLATE
2020-10-15 14:01:41 +02:00
depends_on : build
only_if : >-
$CIRRUS_BRANCH !=~ "dogfood/.*" &&
$CIRRUS_BRANCH != "public_master" &&
2021-04-30 12:51:00 +02:00
$CIRRUS_CRON == ""
2020-10-15 14:01:41 +02:00
2020-09-01 17:45:14 +02:00
docker_build_container_template : &GKE_CONTAINER_TEMPLATE
dockerfile : private/docker/Dockerfile-build
builder_image_project : sonarqube-team
2020-09-15 16:29:06 +02:00
builder_image_name : docker-builder-v20200915
2020-09-01 17:45:14 +02:00
cluster_name : cirrus-ci-cluster
2020-09-15 16:29:06 +02:00
zone : us-central1-a
2020-09-01 17:45:14 +02:00
namespace : default
cpu : 1
memory : 1Gb
oracle_additional_container_template : &ORACLE_ADDITIONAL_CONTAINER_TEMPLATE
name : oracle
2020-09-15 16:29:06 +02:00
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
2020-09-01 17:45:14 +02:00
port : 1521
cpu : 2
memory : 5Gb
env :
ORACLE_PWD : sonarqube
postgres_additional_container_template : &POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
name : postgres
2021-04-20 10:26:42 +02:00
image : postgres:13.2
2020-09-01 17:45:14 +02:00
port : 5432
cpu : 1
memory : 1Gb
env :
POSTGRES_USER : postgres
POSTGRES_PASSWORD : postgres
reports_junit_on_failure_template : &REPORTS_JUNIT_ON_FAILURE_TEMPLATE
2021-03-10 12:37:14 +01:00
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]' {} \;
2020-09-01 17:45:14 +02:00
reports_artifacts :
path : "**/build/reports/**/*"
junit_artifacts :
2021-03-10 12:37:14 +01:00
path : "**/build/test-results/**/*.xml"
2020-09-01 17:45:14 +02:00
format : junit
screenshots_on_failure_template : &REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
<< : *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
screenshots_artifacts :
path : "**/build/screenshots/**/*"
2021-09-10 11:48:59 +02:00
yarn_cache_template : &YARN_CACHE_TEMPLATE
yarn_cache :
folder : "~/.yarn/berry/cache"
2021-03-29 17:31:59 +02:00
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
2021-09-02 09:40:19 +02:00
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
2018-08-29 10:25:32 +02:00
build_task :
2021-09-10 11:48:59 +02:00
<< : *YARN_CACHE_TEMPLATE
2020-10-15 14:01:41 +02:00
only_if : >-
$CIRRUS_BRANCH !=~ "dogfood/.*" &&
$CIRRUS_BRANCH != "public_master" &&
$CIRRUS_CRON == ""
2018-10-03 21:26:27 +02:00
timeout_in : 90m
2018-08-29 10:25:32 +02:00
gke_container :
2020-09-01 17:45:14 +02:00
<< : *GKE_CONTAINER_TEMPLATE
2020-09-02 13:25:31 +02:00
cpu : 4
memory : 7Gb
2018-10-30 13:02:18 +01:00
env :
2019-02-19 18:15:40 +01:00
# 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
2021-04-28 09:17:43 +02:00
ORG_GRADLE_PROJECT_signingKey : ENCRYPTED[!cc216dfe592f79db8006f2a591f8f98b40aa2b078e92025623594976fd32f6864c1e6b6ba74b50647f608e2418e6c336!]
ORG_GRADLE_PROJECT_signingPassword : ENCRYPTED[!314a8fc344f45e462dd5e8dccd741d7562283a825e78ebca27d4ae9db8e65ce618e7f6aece386b2782a5abe5171467bd!]
ORG_GRADLE_PROJECT_signingKeyId : 0x7DCD4258
2021-06-01 09:52:20 +02:00
elasticsearch_distribution_cache :
folder : sonar-application/build/elasticsearch-**.tar.gz
2018-08-29 10:25:32 +02:00
script :
- ./private/cirrus/cirrus-build.sh
2019-03-28 20:28:30 +01:00
on_failure :
reports_artifacts :
path : "**/build/reports/**/*"
2018-08-29 10:25:32 +02:00
2021-04-30 12:51:00 +02:00
validate_task :
2021-04-23 08:10:54 +02:00
<< : *ONLY_DEFAUT_DEPENDING_ON_BUILD_TEMPLATE
2021-09-10 11:48:59 +02:00
<< : *YARN_CACHE_TEMPLATE
2018-10-08 16:19:51 +02:00
timeout_in : 90m
2018-08-29 10:25:32 +02:00
gke_container :
2020-09-01 17:45:14 +02:00
<< : *GKE_CONTAINER_TEMPLATE
2021-01-05 13:33:38 +01:00
cpu : 6.5
memory : 16Gb
2018-08-29 10:25:32 +02:00
additional_containers :
2020-09-01 17:45:14 +02:00
- << : *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
2018-08-29 10:25:32 +02:00
script :
2019-01-15 21:11:24 +01:00
- ./private/cirrus/cirrus-validate.sh postgres106
2019-03-28 20:28:30 +01:00
on_failure :
2020-09-01 17:45:14 +02:00
<< : *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
2018-08-29 10:25:32 +02:00
2021-01-18 11:52:49 +01:00
yarn_check-ci_task :
2021-04-23 08:10:54 +02:00
<< : *ONLY_DEFAUT_DEPENDING_ON_BUILD_TEMPLATE
2021-09-10 11:48:59 +02:00
<< : *YARN_CACHE_TEMPLATE
2021-01-18 11:52:49 +01:00
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
2018-08-29 10:25:32 +02:00
qa_task :
2021-04-23 08:10:54 +02:00
<< : *ONLY_DEFAUT_DEPENDING_ON_BUILD_TEMPLATE
2018-08-29 10:25:32 +02:00
gke_container :
2020-09-01 17:45:14 +02:00
<< : *GKE_CONTAINER_TEMPLATE
cpu : 3
memory : 7Gb
2018-08-29 10:25:32 +02:00
additional_containers :
2020-09-01 17:45:14 +02:00
- << : *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
2018-08-29 10:25:32 +02:00
env :
2019-03-29 09:59:51 +01:00
# 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
2018-08-29 10:25:32 +02:00
matrix :
2020-09-01 17:45:14 +02:00
- 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
2020-10-08 21:16:53 +02:00
- QA_CATEGORY : Dev
2020-09-01 17:45:14 +02:00
- QA_CATEGORY : License
- QA_CATEGORY : Branch
- QA_CATEGORY : Upgrade
2018-08-29 10:25:32 +02:00
script :
2019-01-15 21:11:24 +01:00
- ./private/cirrus/cirrus-qa.sh postgres106
2019-03-28 20:28:30 +01:00
on_failure :
2021-01-05 15:31:42 +01:00
<< : *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
2018-08-29 10:25:32 +02:00
2021-07-15 15:46:40 +02:00
task : #bitbucket
2021-04-23 08:10:54 +02:00
<< : *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
2020-10-16 10:36:16 +02:00
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 :
2021-04-28 14:47:35 +02:00
- name : qa_bitbucket_5.15.0
bitbucket_background_script : ./private/cirrus/cirrus-start-bitbucket.sh 5.15.0
2020-10-16 10:36:16 +02:00
- 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 :
2021-01-05 15:31:42 +01:00
<< : *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
2021-06-03 12:42:55 +02:00
2021-08-31 15:24:03 +02:00
qa_bb_cloud_task :
2021-06-03 12:42:55 +02:00
<< : *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
2020-10-16 10:36:16 +02:00
2020-02-20 17:07:01 +01:00
qa_ha_task :
2021-04-23 08:10:54 +02:00
<< : *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
2020-02-20 17:07:01 +01:00
gke_container :
2020-09-01 17:45:14 +02:00
<< : *GKE_CONTAINER_TEMPLATE
2020-02-20 17:07:01 +01:00
cpu : 2.4
memory : 10Gb
additional_containers :
2020-09-01 17:45:14 +02:00
- << : *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
2020-02-20 17:07:01 +01:00
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 :
2020-09-01 17:45:14 +02:00
<< : *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
2020-02-20 17:07:01 +01:00
2021-06-17 18:12:26 +02:00
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}"
2020-07-29 16:53:53 +02:00
# 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 :
2021-04-23 08:10:54 +02:00
<< : *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
2021-06-18 10:10:00 +02:00
depends_on :
- build
- docker_gitlab_container_build
2020-07-29 16:53:53 +02:00
gke_container :
2020-09-02 11:28:45 +02:00
<< : *GKE_CONTAINER_TEMPLATE
2020-07-29 16:53:53 +02:00
cpu : 2.4
memory : 5Gb
2021-01-22 14:09:04 +01:00
use_in_memory_disk : true
2020-07-29 16:53:53 +02:00
additional_containers :
- name : gitlab
2021-06-17 18:12:26 +02:00
ports :
- 80
- 443
cpu : 2
2020-07-29 16:53:53 +02:00
memory : 5Gb
2021-06-17 18:12:26 +02:00
matrix :
- image : us.gcr.io/sonarqube-team/sq-gitlab:latest
- image : us.gcr.io/sonarqube-team/sq-gitlab:11.7.0-ce.0
2020-07-29 16:53:53 +02:00
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
2021-01-19 15:55:41 +01:00
QA_CATEGORY : GITLAB
2020-11-17 08:07:39 +01:00
gradle_cache :
folder : ~/.gradle/caches
script :
- ./private/cirrus/cirrus-qa.sh h2
cleanup_before_cache_script :
- ./private/cirrus/cleanup-gradle-cache.sh
on_failure :
2021-01-05 15:31:42 +01:00
<< : *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
2020-11-17 08:07:39 +01:00
# Azure QA is executed in a dedicated task in order to not slow down the pipeline.
qa_azure_task :
2021-04-23 08:10:54 +02:00
<< : *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
2020-11-17 08:07:39 +01:00
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
2021-01-22 08:54:38 +01:00
AZURE_USERNAME_LOGIN : ENCRYPTED[dcdf19769c1501408ebc22670c76d5e375cd739de2df5dfa3f215aa795296dfb257dbbcbe9bdfd33135feb04421fea1f]
AZURE_CODE_READ_AND_WRITE_TOKEN : ENCRYPTED[eddc3448b40e72310f24f21241bdc1243860139d1a5aad593b016baedf03e4bba3f9e3d8d9f6329fe3b587966a8112d2]
AZURE_FULL_ACCESS_TOKEN : ENCRYPTED[58779d6588e2e10d1b6f98fcc58a46957f8ef3a18e29d79abc6aa8d69ea55c23d8708e1f1af626464d309b1c7c087985]
2020-07-29 16:53:53 +02:00
gradle_cache :
folder : ~/.gradle/caches
script :
- ./private/cirrus/cirrus-qa.sh h2
cleanup_before_cache_script :
- ./private/cirrus/cleanup-gradle-cache.sh
on_failure :
2021-01-05 15:31:42 +01:00
<< : *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
2020-07-29 16:53:53 +02:00
2019-09-25 14:19:11 +02:00
# 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 :
2021-04-23 08:10:54 +02:00
<< : *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
2019-09-25 14:19:11 +02:00
gke_container :
2020-09-01 17:45:14 +02:00
<< : *GKE_CONTAINER_TEMPLATE
2019-09-25 14:19:11 +02:00
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 :
2020-09-01 17:45:14 +02:00
<< : *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
2019-09-25 14:19:11 +02:00
2019-09-27 16:25:53 +02:00
# 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 :
2021-04-23 08:10:54 +02:00
<< : *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
2019-09-27 16:25:53 +02:00
gke_container :
2020-09-01 17:45:14 +02:00
<< : *GKE_CONTAINER_TEMPLATE
2019-09-27 16:25:53 +02:00
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 :
2020-09-01 17:45:14 +02:00
<< : *REPORTS_JUNIT_SCREENSHOTS_ON_FAILURE_TEMPLATE
2019-09-27 16:25:53 +02:00
2021-04-30 12:51:00 +02:00
promote_task :
2021-04-23 08:10:54 +02:00
<< : *ONLY_DEFAUT_DEPENDING_ON_BUILD_TEMPLATE
2018-08-29 10:25:32 +02:00
depends_on :
- build
- validate
- qa
2019-09-25 14:19:11 +02:00
- qa_saml
2019-09-27 16:25:53 +02:00
- qa_ldap
2018-08-29 10:25:32 +02:00
gke_container :
2020-09-01 17:45:14 +02:00
<< : *GKE_CONTAINER_TEMPLATE
stateful : true
2018-10-30 13:02:18 +01:00
env :
2019-02-19 18:15:40 +01:00
# 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
2018-08-29 10:25:32 +02:00
script :
- ./private/cirrus/cirrus-promote.sh
2018-09-27 18:01:45 +02:00
2021-01-08 10:19:33 +01:00
deploy_docs_task :
depends_on : promote
2021-09-02 12:23:43 +02:00
skip : true
2021-01-08 10:19:33 +01:00
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
2021-07-15 15:07:17 +02:00
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
2021-09-02 09:40:19 +02:00
<< : *CUSTOM_CLONE_SCRIPT_TEMPLATE
2021-08-11 09:45:19 +02:00
install_tooling_script :
- ./private/cirrus/cirrus-tooling-for-package-docker.sh
2021-07-15 15:07:17 +02:00
package_script :
- ./private/cirrus/cirrus-package-docker.sh
2021-04-30 12:51:00 +02:00
sql_mssql2017_task :
2021-04-23 08:10:54 +02:00
<< : *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
2018-09-27 18:01:45 +02:00
gke_container :
2020-09-01 17:45:14 +02:00
<< : *GKE_CONTAINER_TEMPLATE
2018-09-27 18:01:45 +02:00
memory : 5Gb
additional_containers :
- name : mssql
2021-02-10 17:03:26 +01:00
image : mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04
2018-09-27 18:01:45 +02:00
port : 1433
cpu : 2
memory : 5Gb
env :
MSSQL_PID : Developer # this is the default edition
ACCEPT_EULA : Y
SA_PASSWORD : sonarqube!1
script :
2019-01-15 21:11:24 +01:00
- ./private/cirrus/cirrus-db-unit-test.sh mssql2017
2019-03-28 20:28:30 +01:00
on_failure :
2020-09-01 17:45:14 +02:00
<< : *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
2019-01-15 21:11:24 +01:00
# this is the oldest compatible version of PostgreSQL
2021-04-20 10:26:42 +02:00
sql_postgres96_task :
2021-04-23 08:10:54 +02:00
<< : *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
2019-01-15 21:11:24 +01:00
gke_container :
2020-09-01 17:45:14 +02:00
<< : *GKE_CONTAINER_TEMPLATE
2019-01-15 21:11:24 +01:00
memory : 5Gb
additional_containers :
2020-09-01 17:45:14 +02:00
- << : *POSTGRES_ADDITIONAL_CONTAINER_TEMPLATE
2021-04-20 10:26:42 +02:00
image : postgres:9.6
2019-01-15 21:11:24 +01:00
script :
2021-04-20 10:26:42 +02:00
- ./private/cirrus/cirrus-db-unit-test.sh postgres96
2019-03-28 20:28:30 +01:00
on_failure :
2020-09-01 17:45:14 +02:00
<< : *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
2018-09-27 18:01:45 +02:00
2019-07-04 22:46:12 +02:00
sql_oracle12_task :
2021-04-23 08:10:54 +02:00
<< : *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
2018-09-27 18:01:45 +02:00
gke_container :
2020-09-01 17:45:14 +02:00
<< : *GKE_CONTAINER_TEMPLATE
2018-09-27 18:01:45 +02:00
memory : 5Gb
additional_containers :
2020-09-01 17:45:14 +02:00
- << : *ORACLE_ADDITIONAL_CONTAINER_TEMPLATE
2018-09-27 18:01:45 +02:00
script :
2019-01-15 21:11:24 +01:00
- ./private/cirrus/cirrus-db-unit-test.sh oracle12
2019-03-28 20:28:30 +01:00
on_failure :
2020-09-01 17:45:14 +02:00
<< : *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
2019-03-27 19:53:49 +01:00
2021-02-10 17:03:26 +01:00
upgd_mssql2019_task :
2021-04-23 08:10:54 +02:00
<< : *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
2019-03-27 19:53:49 +01:00
gke_container :
2020-09-01 17:45:14 +02:00
<< : *GKE_CONTAINER_TEMPLATE
2019-03-27 19:53:49 +01:00
cpu : 1.5
memory : 6Gb
additional_containers :
- name : mssql
2021-02-10 17:03:26 +01:00
image : mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04
2019-03-27 19:53:49 +01:00
port : 1433
cpu : 2
memory : 5Gb
env :
MSSQL_PID : Developer # this is the default edition
ACCEPT_EULA : Y
SA_PASSWORD : sonarqube!1
env :
2019-03-29 09:59:51 +01:00
# 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
2019-03-27 19:53:49 +01:00
matrix :
QA_CATEGORY : Upgrade
script :
- ./private/cirrus/cirrus-qa.sh mssql2017
2019-03-28 20:28:30 +01:00
on_failure :
2020-09-01 17:45:14 +02:00
<< : *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
2019-03-27 19:53:49 +01:00
2019-07-04 22:46:12 +02:00
upgd_oracle12_task :
2021-04-23 08:10:54 +02:00
<< : *ONLY_NIGHTLY_DEPENDING_ON_BUILD_TEMPLATE
2019-03-27 19:53:49 +01:00
gke_container :
2020-09-01 17:45:14 +02:00
<< : *GKE_CONTAINER_TEMPLATE
2019-03-27 19:53:49 +01:00
cpu : 1.5
memory : 6Gb
additional_containers :
2020-09-01 17:45:14 +02:00
- << : *ORACLE_ADDITIONAL_CONTAINER_TEMPLATE
2019-03-27 19:53:49 +01:00
env :
2019-03-29 09:59:51 +01:00
# 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
2019-03-27 19:53:49 +01:00
matrix :
QA_CATEGORY : Upgrade
script :
- ./private/cirrus/cirrus-qa.sh oracle12
2019-03-28 20:28:30 +01:00
on_failure :
2020-09-15 16:29:06 +02:00
<< : *REPORTS_JUNIT_ON_FAILURE_TEMPLATE
2020-10-02 14:22:58 +02:00
# Software Composition Analysis (SCA): check potential vulnerabilities in dependencies.
# Note that license compliance of dependencies is not checked for now.
owasp_check_task :
2020-10-15 14:01:41 +02:00
only_if : >-
$CIRRUS_CRON == "nightly" ||
2020-11-24 09:45:52 +01:00
$CIRRUS_CRON == "weekly-latest" ||
2020-11-02 10:59:06 +01:00
$CIRRUS_CRON == "weekly-lts" ||
changesInclude('private/owasp/*.xml')
2020-10-02 14:22:58 +02:00
timeout_in : 30m
gke_container :
<< : *GKE_CONTAINER_TEMPLATE
cpu : 1.7
2020-10-06 08:34:39 +02:00
memory : 4Gb
2020-10-02 14:22:58 +02:00
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
2020-10-13 09:51:55 +02:00
on_failure :
2020-10-02 14:22:58 +02:00
slack_notification_script :
- ./private/cirrus/cirrus-owasp-notification.sh
2020-10-13 09:51:55 +02:00
always :
2020-10-02 14:22:58 +02:00
reports_artifacts :
2020-10-06 08:34:39 +02:00
path : "build/reports/*"