1
- artifactory_build : &artifactory_build
1
+ env :
2
+ ARTIFACTORY_URL : VAULT[development/kv/data/repox data.url]
3
+ ARTIFACTORY_DEPLOY_REPO : sonarsource-pypi-public-qa
4
+ ARTIFACTORY_PRIVATE_ACCESS_TOKEN : VAULT[development/artifactory/token/${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-private-reader access_token]
2
5
ARTIFACTORY_DEPLOY_USERNAME : VAULT[development/artifactory/token/${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-qa-deployer username]
3
- ARTIFACTORY_DEPLOY_PASSWORD : VAULT[development/artifactory/token/${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-qa-deployer access_token]
4
-
5
- artifactory_private : &artifactory_private
6
- ARTIFACTORY_PRIVATE_USERNAME : VAULT[development/artifactory/token/${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-private-reader username]
7
- ARTIFACTORY_PRIVATE_PASSWORD : VAULT[development/artifactory/token/${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-private-reader access_token]
6
+ ARTIFACTORY_DEPLOY_ACCESS_TOKEN : VAULT[development/artifactory/token/${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-qa-deployer access_token]
7
+ DEPLOY_PULL_REQUEST : ' true'
8
8
9
9
container_definition : &CONTAINER_DEFINITION
10
10
dockerfile : .cirrus/poetry.Dockerfile
@@ -15,42 +15,43 @@ container_definition: &CONTAINER_DEFINITION
15
15
builder_role : cirrus-builder
16
16
builder_image : docker-builder-v*
17
17
builder_instance_type : t3.small
18
- builder_subnet_id : ${CIRRUS_AWS_SUBNET}
18
+ builder_subnet_ids : ${CIRRUS_AWS_SUBNETS}
19
+ use_in_memory_disk : true
20
+ docker_arguments :
21
+ CIRRUS_AWS_ACCOUNT : ${CIRRUS_AWS_ACCOUNT}
22
+ cpu : 3
23
+ memory : 8G
19
24
20
- only_sonarsource_qa : &ONLY_SONARSOURCE_QA
21
- only_if : $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_TAG == "" && ($CIRRUS_PR != "" || $CIRRUS_BRANCH == "master")
22
-
23
- env :
24
- CIRRUS_SHELL : bash
25
- ARTIFACTORY_URL : VAULT[development/kv/data/repox data.url]
26
- ARTIFACTORY_DEPLOY_REPO : sonarsource-pypi-public-qa
25
+ only_if : $CIRRUS_USER_COLLABORATOR == "true" && $CIRRUS_TAG == "" && ($CIRRUS_PR != "" || $CIRRUS_BRANCH == $CIRRUS_DEFAULT_BRANCH || $CIRRUS_BRANCH =~ "feature/*" || $CIRRUS_BRANCH =~ "dogfood-on-.*")
27
26
27
+ poetry_cache_template : &POETRY_CACHE
28
+ poetry_cache :
29
+ folder : .cache/poetry/
30
+ fingerprint_script : cat poetry.lock
28
31
29
- build_task :
32
+ .poetry_template : &POETRY_TEMPLATE
30
33
eks_container :
31
34
<< : *CONTAINER_DEFINITION
32
- cpu : 2
33
- memory : 2G
34
- env :
35
- << : *artifactory_build
36
- build_script :
37
- - poetry install
38
- - poetry version $(poetry version -s).${CI_BUILD_NUMBER}
39
- - poetry build
40
- - poetry config repositories.sonarsource https://repox.jfrog.io/artifactory/api/pypi/${ARTIFACTORY_DEPLOY_REPO}
41
- - poetry publish -r sonarsource --username ${ARTIFACTORY_DEPLOY_USERNAME} --password ${ARTIFACTORY_DEPLOY_PASSWORD} --verbose
35
+ << : *POETRY_CACHE
36
+ poetry_install_script :
37
+ - source .cirrus/set_poetry_build_version "$CI_BUILD_NUMBER"
38
+ - echo "PROJECT_VERSION=$PROJECT_VERSION" >> $CIRRUS_ENV
39
+ - jfrog config add repox --artifactory-url "$ARTIFACTORY_URL" --access-token "$ARTIFACTORY_PRIVATE_ACCESS_TOKEN"
40
+ - jfrog poetry-config --server-id-resolve repox --repo-resolve sonarsource-pypi
41
+ - jfrog poetry install --build-name="$CIRRUS_REPO_NAME" --build-number="$CI_BUILD_NUMBER"
42
+
43
+ build_task :
44
+ << : *POETRY_TEMPLATE
45
+ alias : build
46
+ name : " Build"
47
+ build_script : .cirrus/poetry_build_publish
42
48
43
49
promote_task :
44
- << : *ONLY_SONARSOURCE_QA
45
- eks_container :
46
- << : *CONTAINER_DEFINITION
47
- cpu : 2
48
- memory : 2G
50
+ depends_on :
51
+ - build
49
52
env :
50
53
ARTIFACTORY_PROMOTE_ACCESS_TOKEN : VAULT[development/artifactory/token/${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-promoter access_token]
51
- promote_script :
52
- # Temporary hack script until https://sonarsource.atlassian.net/browse/BUILD-4592 is completed
53
- # Artifact is copied to sonarsource-pypi-public-builds repo for testing the release workflow as part of https://sonarsource.atlassian.net/browse/BUILD-4501
54
- - export VERSION=$(poetry version -s).$CI_BUILD_NUMBER
55
- - jfrog config add repox --artifactory-url "$ARTIFACTORY_URL" --access-token "$ARTIFACTORY_PROMOTE_ACCESS_TOKEN"
56
- - jfrog rt cp sonarsource-pypi-public-qa/sonar_dummy_python_oss/$VERSION/ sonarsource-pypi-public-builds/sonar_dummy_python_oss/$VERSION/
54
+ GITHUB_TOKEN : VAULT[development/github/token/${CIRRUS_REPO_OWNER}-${CIRRUS_REPO_NAME}-promotion token]
55
+ ARTIFACTS : sonar-summy-python-oss
56
+ << : *POETRY_TEMPLATE
57
+ promote_script : .cirrus/cirrus_promote_python
0 commit comments