@@ -57,52 +57,52 @@ check-layer-size ({{ $runtime.name }}-{{ $runtime.arch }}):
5757 stage: test
5858 tags: ["arch:amd64"]
5959 image: registry.ddbuild.io/images/docker:20.10
60- needs:
60+ needs:
6161 - build-layer ({ { $runtime .name } }-{ { $runtime .arch } })
6262 dependencies:
6363 - build-layer ({ { $runtime .name } }-{ { $runtime .arch } })
64- script:
64+ script:
6565 - PYTHON_VERSION={ { $runtime .python_version } } ARCH={ { $runtime .arch } } ./scripts/check_layer_size.sh
6666
67- lint python:
68- stage: test
69- tags: ["arch:amd64"]
70- image: registry.ddbuild.io/images/mirror/python:{ { $runtime .image } }
71- cache: & { { $runtime .name } }-{ { $runtime .arch } }-cache
72- before_script: *python-before-script
73- script:
74- - source venv/bin/activate
75- - ./scripts/check_format.sh
67+ # lint python:
68+ # stage: test
69+ # tags: ["arch:amd64"]
70+ # image: registry.ddbuild.io/images/mirror/python:{ { $runtime .image } }
71+ # cache: & { { $runtime .name } }-{ { $runtime .arch } }-cache
72+ # before_script: *python-before-script
73+ # script:
74+ # - source venv/bin/activate
75+ # - ./scripts/check_format.sh
7676
77- unit-test ({ { $runtime .name } }-{ { $runtime .arch } }):
78- stage: test
79- tags: ["arch:amd64"]
80- image: registry.ddbuild.io/images/mirror/python:{ { $runtime .image } }
81- cache: & { { $runtime .name } }-{ { $runtime .arch } }-cache
82- before_script: *python-before-script
83- script:
84- - source venv/bin/activate
85- - pytest -vv
77+ # unit-test ({ { $runtime .name } }-{ { $runtime .arch } }):
78+ # stage: test
79+ # tags: ["arch:amd64"]
80+ # image: registry.ddbuild.io/images/mirror/python:{ { $runtime .image } }
81+ # cache: & { { $runtime .name } }-{ { $runtime .arch } }-cache
82+ # before_script: *python-before-script
83+ # script:
84+ # - source venv/bin/activate
85+ # - pytest -vv
8686
87- integration-test ({ { $runtime .name } }-{ { $runtime .arch } }):
88- stage: test
89- tags: ["arch:amd64"]
90- image: registry.ddbuild.io/images/docker:20.10-py3
91- needs:
92- - build-layer ({ { $runtime .name } }-{ { $runtime .arch } })
93- dependencies:
94- - build-layer ({ { $runtime .name } }-{ { $runtime .arch } })
95- cache: & { { $runtime .name } }-{ { $runtime .arch } }-cache
96- variables:
97- CI_ENABLE_CONTAINER_IMAGE_BUILDS: "true"
98- before_script:
99- - *install-node
100- - EXTERNAL_ID_NAME=integration-test-externalid ROLE_TO_ASSUME=sandbox-integration-test-deployer AWS_ACCOUNT=425362996713 source ./ci/get_secrets.sh
101- - yarn global add serverless@^3.38.0 --prefix /usr/local
102- - yarn global add serverless-python-requirements@^6.1.1 --prefix /usr/local
103- - cd integration_tests && yarn install && cd ..
104- script:
105- - RUNTIME_PARAM={ { $runtime .python_version } } ARCH={ { $runtime .arch } } ./scripts/run_integration_tests.sh
87+ # integration-test ({ { $runtime .name } }-{ { $runtime .arch } }):
88+ # stage: test
89+ # tags: ["arch:amd64"]
90+ # image: registry.ddbuild.io/images/docker:20.10-py3
91+ # needs:
92+ # - build-layer ({ { $runtime .name } }-{ { $runtime .arch } })
93+ # dependencies:
94+ # - build-layer ({ { $runtime .name } }-{ { $runtime .arch } })
95+ # cache: & { { $runtime .name } }-{ { $runtime .arch } }-cache
96+ # variables:
97+ # CI_ENABLE_CONTAINER_IMAGE_BUILDS: "true"
98+ # before_script:
99+ # - *install-node
100+ # - EXTERNAL_ID_NAME=integration-test-externalid ROLE_TO_ASSUME=sandbox-integration-test-deployer AWS_ACCOUNT=425362996713 source ./ci/get_secrets.sh
101+ # - yarn global add serverless@^3.38.0 --prefix /usr/local
102+ # - yarn global add serverless-python-requirements@^6.1.1 --prefix /usr/local
103+ # - cd integration_tests && yarn install && cd ..
104+ # script:
105+ # - RUNTIME_PARAM={ { $runtime .python_version } } ARCH={ { $runtime .arch } } ./scripts/run_integration_tests.sh
106106
107107sign-layer ({ { $runtime .name } }-{ { $runtime .arch } }):
108108 stage: sign
@@ -114,9 +114,9 @@ sign-layer ({{ $runtime.name }}-{{ $runtime.arch }}):
114114 needs:
115115 - build-layer ({ { $runtime .name } }-{ { $runtime .arch } })
116116 - check-layer-size ({ { $runtime .name } }-{ { $runtime .arch } })
117- - lint python
118- - unit-test ({ { $runtime .name } }-{ { $runtime .arch } })
119- - integration-test ({ { $runtime .name } }-{ { $runtime .arch } })
117+ # - lint python
118+ # - unit-test ({ { $runtime .name } }-{ { $runtime .arch } })
119+ # - integration-test ({ { $runtime .name } }-{ { $runtime .arch } })
120120 dependencies:
121121 - build-layer ({ { $runtime .name } }-{ { $runtime .arch } })
122122 artifacts: # Re specify artifacts so the modified signed file is passed
@@ -145,15 +145,18 @@ publish-layer-{{ $environment_name }} ({{ $runtime.name }}-{{ $runtime.arch }}):
145145 when: manual
146146 allow_failure: true
147147 - if: '$CI_COMMIT_TAG =~ /^v.*/'
148+ artifacts:
149+ reports:
150+ dotenv: layer-version
148151 needs:
149152{ { if or (eq $environment_name " prod" ) } }
150153 - sign-layer ({ { $runtime .name } }-{ { $runtime .arch} })
151154{ { else } }
152155 - build-layer ({ { $runtime .name } }-{ { $runtime .arch } })
153156 - check-layer-size ({ { $runtime .name } }-{ { $runtime .arch } })
154- - lint python
155- - unit-test ({ { $runtime .name } }-{ { $runtime .arch } })
156- - integration-test ({ { $runtime .name } }-{ { $runtime .arch } })
157+ # - lint python
158+ # - unit-test ({ { $runtime .name } }-{ { $runtime .arch } })
159+ # - integration-test ({ { $runtime .name } }-{ { $runtime .arch } })
157160{ { end } }
158161 dependencies:
159162{ { if or (eq $environment_name " prod" ) } }
@@ -169,32 +172,14 @@ publish-layer-{{ $environment_name }} ({{ $runtime.name }}-{{ $runtime.arch }}):
169172 before_script:
170173 - EXTERNAL_ID_NAME={ { $environment .external_id } } ROLE_TO_ASSUME={ { $environment .role_to_assume } } AWS_ACCOUNT={ { $environment .account } } source ./ci/get_secrets.sh
171174 script:
172- - STAGE={ { $environment_name } } PYTHON_VERSION={ { $runtime .python_version } } ARCH={ { $runtime .arch } } ./ci/publish_layers.sh
175+ - STAGE={ { $environment_name } } PYTHON_VERSION={ { $runtime .python_version } } ARCH={ { $runtime .arch } } ./ci/publish_layers.sh | tee publish.log
176+ # Extract the arn from the publish log to be used as envvar in e2e tests
177+ - echo "PYTHON_{ { $runtime .python_version } }_VERSION=$(grep -oP 'Published arn \K\.*' publish.log)" > layer-version
173178
174179{ {- end } }
175180
176181{ {- end } }
177182
178- run-e2e:
179- stage: e2e
180- tags: ["arch:amd64"]
181- image: registry.ddbuild.io/images/docker:20.10-py3
182- needs: { { range $runtime := (ds " runtimes" ).runtimes } }
183- - publish-layer-sandbox ({ { $runtime .name } }-amd64): [us-west-2]
184- { {- end } }
185- trigger:
186- project: "DataDog/serverless-e2e-tests"
187- strategy: depend
188- variables:
189- LANGUAGES_SUBSET: python
190- PYTHON_38_VERSION: latest
191- PYTHON_39_VERSION: latest
192- PYTHON_310_VERSION: latest
193- PYTHON_311_VERSION: latest
194- PYTHON_312_VERSION: latest
195- PYTHON_313_VERSION: latest
196-
197-
198183publish-pypi-package:
199184 stage: publish
200185 tags: ["arch:amd64"]
@@ -255,3 +240,22 @@ signed layer bundle:
255240 - rm -rf datadog_lambda_py-signed-bundle-${ CI_JOB_ID}
256241 - mkdir -p datadog_lambda_py-signed-bundle-${ CI_JOB_ID}
257242 - cp .layers/datadog_lambda_py-*.zip datadog_lambda_py-signed-bundle-${ CI_JOB_ID}
243+
244+ e2e-test:
245+ stage: e2e
246+ trigger:
247+ project: DataDog/serverless-e2e-tests
248+ strategy: depend
249+ variables:
250+ LANGUAGES_SUBSET: python
251+ PYTHON_38_VERSION: latest
252+ PYTHON_39_VERSION: latest
253+ PYTHON_310_VERSION: latest
254+ PYTHON_311_VERSION: latest
255+ PYTHON_312_VERSION: latest
256+ PYTHON_313_VERSION: latest
257+ needs: { { range (ds " runtimes" ).runtimes } }
258+ { {- if eq .arch " amd64" } }
259+ - "publish-layer-sandbox ({ { .name } }-{ { .arch } }): [us-west-2]"
260+ { {- end } }
261+ { {- end } }
0 commit comments