Skip to content

Commit d88deef

Browse files
committed
ci: use official system tests GitHub Actions workflow
This runs _all_ system tests instead of just a subset and tries to balance them out as much as possible, to get below the `desired_execution_time`.
1 parent 8e11d85 commit d88deef

File tree

1 file changed

+15
-62
lines changed

1 file changed

+15
-62
lines changed

.github/workflows/system-tests.yml

Lines changed: 15 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,14 @@ on:
44
pull_request:
55
push:
66
branches: [master]
7-
workflow_dispatch: {}
7+
workflow_dispatch:
88
schedule:
99
- cron: 0 4 * * *
1010

11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
13+
cancel-in-progress: true
14+
1115
jobs:
1216
build-artifacts:
1317
runs-on: ubuntu-latest
@@ -24,69 +28,18 @@ jobs:
2428
name: system_tests_binaries
2529
path: ./binaries/**/*
2630

27-
get-scenarios:
28-
name: Get parameters
29-
uses: DataDog/system-tests/.github/workflows/compute-workflow-parameters.yml@main
30-
with:
31-
library: nodejs
32-
scenarios_groups: essentials,appsec_rasp,debugger,integrations
33-
34-
system-tests:
35-
runs-on: ${{ contains(fromJSON('["CROSSED_TRACING_LIBRARIES", "INTEGRATIONS"]'), matrix.scenario) && 'ubuntu-latest-16-cores' || 'ubuntu-latest' }}
36-
needs:
37-
- get-scenarios
38-
strategy:
39-
matrix:
40-
weblog-variant: ${{fromJson(needs.get-scenarios.outputs.endtoend_weblogs)}}
41-
scenario: ${{fromJson(needs.get-scenarios.outputs.endtoend_scenarios)}}
42-
43-
env:
44-
TEST_LIBRARY: nodejs
45-
WEBLOG_VARIANT: ${{ matrix.weblog-variant }}
46-
DD_API_KEY: ${{ secrets.DD_API_KEY }}
47-
48-
steps:
49-
- name: Checkout system tests
50-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
51-
with:
52-
repository: 'DataDog/system-tests'
53-
- name: Checkout dd-trace-js
54-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
55-
with:
56-
path: 'binaries/dd-trace-js'
57-
- name: Build runner
58-
uses: ./.github/actions/install_runner
59-
- name: Pull images
60-
uses: ./.github/actions/pull_images
61-
with:
62-
library: nodejs
63-
weblog: ${{ matrix.weblog-variant }}
64-
scenarios: '["${{ matrix.scenario }}"]'
65-
cleanup: false
66-
- name: Build weblog
67-
run: ./build.sh -i weblog
68-
- name: Build agent
69-
id: build-agent
70-
run: ./build.sh -i agent
71-
- name: Run scenario ${{ matrix.scenario }}
72-
run: ./run.sh ${{ matrix.scenario }}
73-
- name: Compress artifact
74-
if: ${{ always() }}
75-
run: tar -czvf artifact.tar.gz $(ls | grep logs)
76-
- name: Upload artifact
77-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
78-
if: ${{ always() }}
79-
with:
80-
name: logs_${{ matrix.weblog-variant }}-${{ matrix.scenario }}
81-
path: artifact.tar.gz
82-
83-
parametric:
31+
main:
8432
needs:
85-
- build-artifacts
86-
uses: DataDog/system-tests/.github/workflows/run-parametric.yml@main
33+
- build-artifacts
34+
uses: DataDog/system-tests/.github/workflows/system-tests.yml@main
8735
secrets: inherit
36+
permissions:
37+
contents: read
38+
packages: write
8839
with:
8940
library: nodejs
9041
binaries_artifact: system_tests_binaries
91-
job_count: 8
92-
job_matrix: '[1,2,3,4,5,6,7,8]'
42+
desired_execution_time: 900 # 15 minutes
43+
scenarios_groups: tracer-release
44+
excluded_scenarios: CROSSED_TRACING_LIBRARIES,INTEGRATIONS_AWS,APM_TRACING_E2E_OTEL,APM_TRACING_E2E_SINGLE_SPAN,PROFILING # require AWS and datadog credentials
45+
skip_empty_scenarios: true

0 commit comments

Comments
 (0)