@@ -302,15 +302,57 @@ jobs:
302302 name : logs_parametric
303303 path : artifact.tar.gz
304304
305+ serverless-system-tests-build-layer :
306+ runs-on : ubuntu-latest
307+ needs : [build-wheels]
308+ steps :
309+ - name : Checkout datadog-lambda-python
310+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
311+ with :
312+ persist-credentials : false
313+ repository : " DataDog/datadog-lambda-python"
314+
315+ - name : Download wheel to binaries directory
316+ uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
317+ with :
318+ name : wheels-cp313-manylinux_x86_64
319+ path : artifacts/
320+
321+ - name : Build datadog_lambda layer
322+ run : |
323+ wheel_path=$(find ./artifacts -name "*.whl" | head -n 1)
324+ sed -i 's|^ddtrace =.*$|ddtrace = { file = "'"$wheel_path"'" }|' pyproject.toml
325+ ARCH=amd64 PYTHON_VERSION=3.13 ./scripts/build_layers.sh
326+
327+ - name : Upload layer artifact
328+ uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
329+ with :
330+ path : .layers/datadog_lambda_py-amd64-3.13.zip
331+ name : serverless_system_tests_binaries
332+
333+ serverless-system-tests :
334+ needs : [serverless-system-tests-build-layer]
335+ # Automatically managed, use scripts/update-system-tests-version to update
336+ uses : DataDog/system-tests/.github/workflows/system-tests.yml@2eb26336ed43c2db1b7f90fff17ce4f5fc36a12b
337+ secrets : inherit
338+ permissions :
339+ contents : read
340+ packages : write
341+ with :
342+ library : python_lambda
343+ binaries_artifact : serverless_system_tests_binaries
344+ scenarios_groups : lambda_end_to_end
345+ skip_empty_scenarios : true
346+
305347 finished :
306348 name : system-tests finished
307349 runs-on : ubuntu-latest
308- needs : [parametric, system-tests]
350+ needs : [parametric, system-tests, serverless-system-tests ]
309351 if : success() || failure()
310352 steps :
311353 - name : True when everything else succeeded
312- if : needs.parametric.result == 'success' && needs.system-tests.result == 'success'
354+ if : needs.parametric.result == 'success' && needs.system-tests.result == 'success' && needs.serverless-system-tests.result == 'success'
313355 run : exit 0
314356 - name : Fails if anything else failed
315- if : needs.parametric.result != 'success' || needs.system-tests.result != 'success'
316- run : exit 1
357+ if : needs.parametric.result != 'success' || needs.system-tests.result != 'success' || needs.serverless-system-tests.result == 'success'
358+ run : exit 1
0 commit comments