61
61
default : 1
62
62
required : false
63
63
type : number
64
+ desired_execution_time :
65
+ description : " In seconds, system-tests will try to respect this time budget."
66
+ default : -1
67
+ required : false
68
+ type : number
64
69
_experimental_parametric_job_count :
65
70
description : " *DEPRECATED*"
66
71
default : 1
76
81
scenarios : ${{ inputs.scenarios }}
77
82
scenarios_groups : ${{ inputs.scenarios_groups }}
78
83
parametric_job_count : ${{ inputs.parametric_job_count }}
84
+ desired_execution_time : ${{ inputs.desired_execution_time }}
79
85
_ci_environment : ${{ inputs.ci_environment }}
80
86
81
87
parametric :
91
97
job_count : ${{ inputs.parametric_job_count }}
92
98
job_matrix : ${{ needs.compute_parameters.outputs.parametric_job_matrix }}
93
99
94
- lib-injection :
100
+ lib_injection :
95
101
needs :
96
102
- compute_parameters
97
103
if : ${{ needs.compute_parameters.outputs.libinjection_enable == 'true' }}
@@ -105,29 +111,66 @@ jobs:
105
111
library : ${{ inputs.library }}
106
112
version : ${{ inputs.binaries_artifact == '' && 'prod' || 'dev' }}
107
113
108
- end-to-end :
109
- name : end-to-end (${{ matrix.weblogs.weblog_name }})
114
+ build_end_to_end :
115
+ name : Build end-to-end (${{ matrix.weblog }})
110
116
needs :
111
117
- compute_parameters
112
- if : ${{ needs.compute_parameters.outputs.endtoend_defs_weblogs != '[]' }}
118
+ if : ${{ needs.compute_parameters.outputs.endtoend_defs_parallel_enable == 'true' }}
119
+ runs-on : ubuntu-latest
113
120
strategy :
114
121
matrix :
115
- weblogs : ${{ fromJson(needs.compute_parameters.outputs.endtoend_defs_weblogs) }}
122
+ weblog : ${{ fromJson(needs.compute_parameters.outputs.endtoend_defs_parallel_weblogs) }}
123
+ fail-fast : false
124
+ steps :
125
+ - name : Checkout
126
+ uses : actions/checkout@v4
127
+ with :
128
+ repository : ' DataDog/system-tests'
129
+ - name : Get binaries artifact
130
+ if : ${{ inputs.binaries_artifact != '' }}
131
+ uses : actions/download-artifact@v4
132
+ with :
133
+ name : ${{ inputs.binaries_artifact }}
134
+ path : binaries/
135
+ - name : Build python's weblog base images
136
+ if : inputs.library == 'python' && inputs.build_python_base_images
137
+ run : |
138
+ ./utils/build/build_python_base_images.sh
139
+ - name : Build agent
140
+ run : SYSTEM_TEST_BUILD_ATTEMPTS=3 ./build.sh -i agent -s
141
+ - name : Build weblog
142
+ id : build
143
+ run : SYSTEM_TEST_BUILD_ATTEMPTS=3 ./build.sh ${{ inputs.library }} -i weblog -w ${{ matrix.weblog }} -s
144
+ - name : Upload artifact
145
+ uses : actions/upload-artifact@v4
146
+ with :
147
+ name : binaries_${{ inputs.ci_environment}}_${{ inputs.library }}_${{ matrix.weblog }}
148
+ path : binaries/
149
+
150
+ run_end_to_end :
151
+ name : " End-to-end #${{ matrix.job.weblog_instance }}"
152
+ needs :
153
+ - compute_parameters
154
+ - build_end_to_end
155
+ if : ${{ needs.compute_parameters.outputs.endtoend_defs_parallel_enable == 'true' }}
156
+ strategy :
157
+ matrix :
158
+ job : ${{ fromJson(needs.compute_parameters.outputs.endtoend_defs_parallel_jobs) }}
116
159
fail-fast : false
117
160
uses : ./.github/workflows/run-end-to-end.yml
118
161
secrets : inherit
119
162
with :
120
- library : ${{ matrix.weblogs.library }}
121
- weblog : ${{ matrix.weblogs.weblog_name }}
122
- scenarios : ${{ toJson(matrix.weblogs.scenarios) }}
123
- build_python_base_images : ${{ inputs.build_python_base_images }}
163
+ library : ${{ matrix.job.library }}
164
+ weblog : ${{ matrix.job.weblog }}
165
+ scenarios : ${{ toJson(matrix.job.scenarios) }}
124
166
build_buddies_images : ${{ inputs.build_buddies_images }}
125
167
build_proxy_image : ${{ inputs.build_proxy_image }}
126
- binaries_artifact : ${{ inputs.binaries_artifact }}
168
+ binaries_artifact : binaries_ ${{ inputs.ci_environment}}_${{ inputs.library }}_${{ matrix.job.weblog }}
127
169
ci_environment : ${{ inputs.ci_environment }}
128
170
skip_empty_scenarios : ${{ inputs.skip_empty_scenarios }}
171
+ logs_artifact_name : logs_endtoend_${{ inputs.library }}_${{ matrix.job.weblog }}_${{ inputs.ci_environment }}_${{ matrix.job.weblog_instance }}
129
172
130
- external-processing :
173
+ external_processing :
131
174
needs :
132
175
- compute_parameters
133
176
if : ${{ needs.compute_parameters.outputs.externalprocessing_scenarios != '[]' && inputs.library == 'golang' && inputs.binaries_artifact != ''}}
0 commit comments