Skip to content

Commit 719654f

Browse files
committed
SCANPY-176 Avoid using POETRY_LINUX_TEMPLATE for Mend, formatting and documentation tasks
1 parent 5f4069a commit 719654f

File tree

1 file changed

+51
-26
lines changed

1 file changed

+51
-26
lines changed

.cirrus.yml

Lines changed: 51 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,30 @@ env:
1515
CIRRUS_SHELL: bash
1616

1717
only_if: $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_TAG == "" && ($CIRRUS_PR != "" || $CIRRUS_BRANCH == 'master' || $CIRRUS_BRANCH =~ "branch-.*")
18+
1819
linux_container_definition: &LINUX_CONTAINER_DEFINITION
19-
dockerfile: .cirrus/poetry.Dockerfile
20-
cluster_name: ${CIRRUS_CLUSTER_NAME}
21-
region: eu-central-1
22-
namespace: default
23-
builder_role: cirrus-builder
24-
builder_image: docker-builder-v*
25-
builder_instance_type: t3.small
26-
use_in_memory_disk: true
27-
docker_arguments:
28-
CIRRUS_AWS_ACCOUNT: ${CIRRUS_AWS_ACCOUNT}
29-
cpu: 3
30-
memory: 8G
20+
eks_container:
21+
dockerfile: .cirrus/poetry.Dockerfile
22+
cluster_name: ${CIRRUS_CLUSTER_NAME}
23+
region: eu-central-1
24+
namespace: default
25+
builder_role: cirrus-builder
26+
builder_image: docker-builder-v*
27+
builder_instance_type: t3.small
28+
use_in_memory_disk: true
29+
docker_arguments:
30+
CIRRUS_AWS_ACCOUNT: ${CIRRUS_AWS_ACCOUNT}
31+
cpu: 3
32+
memory: 8G
33+
34+
mend_base_container: &MEND_BASE_CONTAINER
35+
eks_container:
36+
image: ${CIRRUS_AWS_ACCOUNT}.dkr.ecr.eu-central-1.amazonaws.com/base:j21-latest
37+
region: eu-central-1
38+
cluster_name: ${CIRRUS_CLUSTER_NAME}
39+
namespace: default
40+
cpu: 4
41+
memory: 2G
3142

3243
win_vm_definition: &WINDOWS_VM_DEFINITION
3344
ec2_instance:
@@ -101,10 +112,26 @@ poetry_cache_template: &POETRY_CACHE
101112
- echo "PROJECT_VERSION=$PROJECT_VERSION" >> $CIRRUS_ENV
102113
<<: *JFROG_MAC_LINUX_CONFIG_TEMPLATE
103114

115+
# Basic Linux container with poetry (no jfrog, no build version)
116+
.basic_poetry_linux_template: &POETRY_INSTALL_SCRIPT
117+
<<: *LINUX_CONTAINER_DEFINITION
118+
<<: *JFROG_MAC_LINUX_CONFIG_TEMPLATE
119+
<<: *POETRY_CACHE
120+
poetry_basic_install_script:
121+
- poetry install
122+
123+
# Poetry dependencies template (for tasks that override container)
124+
.poetry_dependencies_template: &POETRY_DEPENDENCIES_TEMPLATE
125+
<<: *POETRY_CACHE
126+
poetry_install_script:
127+
- source set_poetry_build_version "$CI_BUILD_NUMBER"
128+
- echo "PROJECT_VERSION=$PROJECT_VERSION" >> $CIRRUS_ENV
129+
<<: *JFROG_MAC_LINUX_CONFIG_TEMPLATE
130+
131+
# Full poetry linux template (for tasks needing everything)
104132
.poetry_linux_template: &POETRY_LINUX_TEMPLATE
133+
<<: *LINUX_CONTAINER_DEFINITION
105134
<<: *POETRY_TEMPLATE
106-
eks_container:
107-
<<: *LINUX_CONTAINER_DEFINITION
108135

109136
.poetry_macos_template: &POETRY_MACOS_TEMPLATE
110137
<<: *POETRY_CACHE
@@ -129,18 +156,12 @@ macos_worker_template: &MACOS_WORKER_DEFINITION
129156
envname: prod
130157

131158
mend_scan_task:
132-
<<: *POETRY_LINUX_TEMPLATE
159+
<<: *POETRY_DEPENDENCIES_TEMPLATE
133160
depends_on:
134161
- build
135162
# run only on master and long-living branches
136163
only_if: $CIRRUS_USER_COLLABORATOR == 'true' && $CIRRUS_TAG == "" && ($CIRRUS_BRANCH == "master" || $CIRRUS_BRANCH =~ "branch-.*")
137-
eks_container:
138-
image: ${CIRRUS_AWS_ACCOUNT}.dkr.ecr.eu-central-1.amazonaws.com/base:j21-latest
139-
region: eu-central-1
140-
cluster_name: ${CIRRUS_CLUSTER_NAME}
141-
namespace: default
142-
cpu: 4
143-
memory: 2G
164+
<<: *MEND_BASE_CONTAINER
144165
env:
145166
WS_APIKEY: VAULT[development/kv/data/mend data.apikey]
146167
mend_script:
@@ -152,7 +173,8 @@ mend_scan_task:
152173
path: "whitesource/**/*"
153174

154175
formatting_task:
155-
<<: *POETRY_LINUX_TEMPLATE
176+
<<: *LINUX_CONTAINER_DEFINITION
177+
<<: *POETRY_INSTALL_SCRIPT
156178
alias: formatting
157179
name: "Formatting"
158180
formatting_script:
@@ -162,17 +184,17 @@ formatting_task:
162184
- git diff --name-only --exit-code ./src ./tests
163185

164186
documentation_task:
165-
<<: *POETRY_LINUX_TEMPLATE
187+
<<: *LINUX_CONTAINER_DEFINITION
188+
<<: *POETRY_INSTALL_SCRIPT
166189
alias: documentation
167190
name: "CLI Documentation"
168191
cli_docs_script:
169192
- poetry run python tools/generate_cli_documentation.py
170193
- git diff --exit-code CLI_ARGS.md
171194

172195
analysis_linux_task:
196+
<<: *LINUX_CONTAINER_DEFINITION
173197
<<: *POETRY_CACHE
174-
eks_container:
175-
<<: *LINUX_CONTAINER_DEFINITION
176198
alias: analysis
177199
name: "NEXT Analysis"
178200
# For NEXT analysis we don't need to set the build versions, but we still need to access jfrog to recover the dependencies
@@ -218,6 +240,7 @@ qa_task:
218240
eks_container:
219241
docker_arguments:
220242
PYTHON_VERSION: 3.13.2
243+
<<: *LINUX_CONTAINER_DEFINITION
221244
<<: *POETRY_LINUX_TEMPLATE
222245
qa_script:
223246
- poetry run pytest tests/
@@ -251,6 +274,7 @@ qa_windows_task:
251274
- exit $LASTEXITCODE
252275

253276
build_task:
277+
<<: *LINUX_CONTAINER_DEFINITION
254278
<<: *POETRY_LINUX_TEMPLATE
255279
alias: build
256280
name: "Build"
@@ -263,6 +287,7 @@ its_task:
263287
folder: sonarqube_cache/
264288
populate_script: mkdir -p sonarqube_cache && wget -q https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-$SONARQUBE_VERSION.zip -O sonarqube_cache/sonarqube.zip
265289
fingerprint_script: echo "sonarqube-$SONARQUBE_VERSION"
290+
<<: *LINUX_CONTAINER_DEFINITION
266291
<<: *POETRY_LINUX_TEMPLATE
267292
its_script:
268293
- .cirrus/run_its.sh

0 commit comments

Comments
 (0)