@@ -27,13 +27,13 @@ commands:
2727 pip-install-deps :
2828 steps :
2929 - run :
30- name : Install Python Dependencies
30+ name : Install Python Dependencies (with 7-day grace period)
3131 command : |
3232 python -m venv venv
3333 . venv/bin/activate
34- pip install --upgrade pip
34+ pip install --upgrade pip --constraint .circleci/constraints.txt
3535 pip install 'wheel==0.45.1'
36- pip install -r requirements.txt
36+ pip install -r requirements.txt --constraint .circleci/constraints.txt
3737
3838 pip-install-tests-deps :
3939 parameters :
@@ -42,10 +42,10 @@ commands:
4242 type : string
4343 steps :
4444 - run :
45- name : Install Python Tests Dependencies
45+ name : Install Python Tests Dependencies (with 7-day grace period)
4646 command : |
4747 . venv/bin/activate
48- pip install -r <<parameters.requirements>>
48+ pip install -r <<parameters.requirements>> --constraint .circleci/constraints.txt
4949
5050 run-tests-with-coverage-report :
5151 parameters :
@@ -91,19 +91,19 @@ commands:
9191 - attach_workspace :
9292 at : .
9393 - run :
94- name : Run SonarQube to report the coverage
94+ name : Run SonarQube to report the coverage (with 7-day grace period)
9595 command : |
9696 python -m venv venv
9797 . venv/bin/activate
9898
99- pip install --upgrade pip coverage
99+ pip install --upgrade pip coverage --constraint .circleci/constraints.txt
100100 coverage combine ./coverage_results
101101 coverage xml -i
102102
103103 PR_NUMBER=$(echo ${CIRCLE_PULL_REQUEST} | sed 's/.*\///')
104104 SONAR_TOKEN=${SONAR_TOKEN}
105105
106- pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ pysonar-scanner
106+ pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ pysonar-scanner --constraint .circleci/constraints.txt
107107 export SONAR_SCANNER_OPTS="-server"
108108
109109 if [[ -n "${PR_NUMBER}" ]]; then
@@ -134,19 +134,26 @@ jobs:
134134 py-version :
135135 type : string
136136 docker :
137+ # 7-day grace period: Use specific image versions from 7 days ago
138+ # To update: Run .circleci/scripts/update_docker_digests.py
137139 - image : public.ecr.aws/docker/library/python:<<parameters.py-version>>
138140 - image : public.ecr.aws/docker/library/postgres:16.10-trixie
141+ # TODO: Add @sha256:digest for 7-day grace period protection
139142 environment :
140143 POSTGRES_USER : root
141144 POSTGRES_PASSWORD : passw0rd
142145 POSTGRES_DB : instana_test_db
143146 - image : public.ecr.aws/docker/library/mariadb:11.3.2
147+ # TODO: Add @sha256:digest for 7-day grace period protection
144148 environment :
145149 MYSQL_ROOT_PASSWORD : passw0rd
146150 MYSQL_DATABASE : instana_test_db
147151 - image : public.ecr.aws/docker/library/redis:7.2.4-bookworm
152+ # TODO: Add @sha256:digest for 7-day grace period protection
148153 - image : public.ecr.aws/docker/library/rabbitmq:3.13.0
154+ # TODO: Add @sha256:digest for 7-day grace period protection
149155 - image : public.ecr.aws/docker/library/mongo:7.0.6
156+ # TODO: Add @sha256:digest for 7-day grace period protection
150157 - image : quay.io/thekevjames/gcloud-pubsub-emulator:latest
151158 environment :
152159 PUBSUB_EMULATOR_HOST : 0.0.0.0:8681
@@ -163,8 +170,11 @@ jobs:
163170
164171 py39cassandra :
165172 docker :
173+ # 7-day grace period: Use specific image versions from 7 days ago
166174 - image : public.ecr.aws/docker/library/python:3.9
175+ # TODO: Add @sha256:digest for 7-day grace period protection
167176 - image : public.ecr.aws/docker/library/cassandra:3.11.16-jammy
177+ # TODO: Add @sha256:digest for 7-day grace period protection
168178 environment :
169179 MAX_HEAP_SIZE : 2048m
170180 HEAP_NEWSIZE : 512m
@@ -183,7 +193,9 @@ jobs:
183193
184194 py39gevent :
185195 docker :
196+ # 7-day grace period: Use specific image versions from 7 days ago
186197 - image : public.ecr.aws/docker/library/python:3.9
198+ # TODO: Add @sha256:digest for 7-day grace period protection
187199 working_directory : ~/repo
188200 steps :
189201 - checkout
@@ -199,7 +211,9 @@ jobs:
199211
200212 py312aws :
201213 docker :
214+ # 7-day grace period: Use specific image versions from 7 days ago
202215 - image : public.ecr.aws/docker/library/python:3.12
216+ # TODO: Add @sha256:digest for 7-day grace period protection
203217 working_directory : ~/repo
204218 steps :
205219 - checkout
@@ -214,11 +228,15 @@ jobs:
214228
215229 py313kafka :
216230 docker :
231+ # 7-day grace period: Use specific image versions from 7 days ago
217232 - image : public.ecr.aws/docker/library/python:3.13
233+ # TODO: Add @sha256:digest for 7-day grace period protection
218234 - image : public.ecr.aws/ubuntu/zookeeper:3.1-22.04_edge
235+ # TODO: Add @sha256:digest for 7-day grace period protection
219236 environment :
220237 TZ : UTC
221238 - image : public.ecr.aws/ubuntu/kafka:3.1-22.04_edge
239+ # TODO: Add @sha256:digest for 7-day grace period protection
222240 environment :
223241 TZ : UTC
224242 ZOOKEEPER_HOST : localhost
@@ -261,7 +279,9 @@ jobs:
261279 py-version :
262280 type : string
263281 docker :
282+ # 7-day grace period: Use specific image versions from 7 days ago
264283 - image : public.ecr.aws/docker/library/python:<<parameters.py-version>>
284+ # TODO: Add @sha256:digest for 7-day grace period protection
265285 environment :
266286 AUTOWRAPT_BOOTSTRAP : instana
267287 working_directory : ~/repo
@@ -278,7 +298,9 @@ jobs:
278298
279299 final_job :
280300 docker :
301+ # 7-day grace period: Use specific image versions from 7 days ago
281302 - image : public.ecr.aws/docker/library/python:3.13
303+ # TODO: Add @sha256:digest for 7-day grace period protection
282304 working_directory : ~/repo
283305 steps :
284306 - checkout
0 commit comments