4
4
pull_request :
5
5
push :
6
6
branches : [master]
7
- workflow_dispatch : {}
7
+ workflow_dispatch :
8
8
schedule :
9
9
- cron : 0 4 * * *
10
10
11
+ concurrency :
12
+ group : ${{ github.workflow }}-${{ github.ref || github.run_id }}
13
+ cancel-in-progress : true
14
+
11
15
jobs :
12
16
build-artifacts :
13
17
runs-on : ubuntu-latest
@@ -24,69 +28,18 @@ jobs:
24
28
name : system_tests_binaries
25
29
path : ./binaries/**/*
26
30
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 :
84
32
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
87
35
secrets : inherit
36
+ permissions :
37
+ contents : read
38
+ packages : write
88
39
with :
89
40
library : nodejs
90
41
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