Skip to content

Commit e61562d

Browse files
committed
ci(system-tests): run serverless system-tests
1 parent b8614b5 commit e61562d

File tree

2 files changed

+49
-4
lines changed

2 files changed

+49
-4
lines changed

.github/workflows/system-tests.yml

Lines changed: 46 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

scripts/update-system-tests-version.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ def update_system_tests_version(latest_version: str):
4848
lines[i] = f"{pre}: '{latest_version}'"
4949
update_ref = False
5050

51+
if lines[i] == f" uses: DataDog/system-tests/.github/workflows/system-tests.yml@{current_version}":
52+
lines[i] = f" uses: DataDog/system-tests/.github/workflows/system-tests.yml@{latest_version}"
53+
5154
with open(system_tests_workflows_path, "w") as file:
5255
file.write("\n".join(lines))
5356

0 commit comments

Comments
 (0)