@@ -92,8 +92,11 @@ defaults:
92
92
93
93
jobs :
94
94
run :
95
- name : " ${{ inputs.job-name }}"
95
+ strategy :
96
+ matrix :
97
+ test_type : ['unit', 'e2e']
96
98
runs-on : ${{ fromJson(inputs.runner) }}
99
+ name : " ${{ inputs.job-name }} - ${{ matrix.test_type }}"
97
100
98
101
env :
99
102
FORCE_COLOR : " 1"
@@ -121,8 +124,8 @@ jobs:
121
124
# We want to replace leading dots as they will make directories hidden, which will cause them to be ignored by upload-artifact and EnricoMi/publish-unit-test-result-action
122
125
JOB_NAME=$(echo "${{ inputs.job-name }}" | sed 's/^\./Dot/')
123
126
124
- echo "TEST_RESULTS_DIR=$TEST_RESULTS_BASE_DIR/$JOB_NAME" >> $GITHUB_ENV
125
- echo "TRACE_CAPTURE_FILE=$TRACE_CAPTURE_BASE_DIR/$JOB_NAME" >> $GITHUB_ENV
127
+ echo "TEST_RESULTS_DIR=$TEST_RESULTS_BASE_DIR/$JOB_NAME/${{ matrix.test_type }} " >> $GITHUB_ENV
128
+ echo "TRACE_CAPTURE_FILE=$TRACE_CAPTURE_BASE_DIR/$JOB_NAME/${{ matrix.test_type }} " >> $GITHUB_ENV
126
129
127
130
- name : Set up Windows
128
131
if : runner.os == 'Windows'
@@ -215,11 +218,11 @@ jobs:
215
218
env :
216
219
PYTHONUNBUFFERED : " 1"
217
220
run : |-
218
- mkdir "${{ env.TRACE_CAPTURE_BASE_DIR }}"
221
+ mkdir -p "${{ env.TRACE_CAPTURE_BASE_DIR }}"
219
222
python .ddev/ci/scripts/traces.py capture --port "${{ inputs.trace-agent-port }}" --record-file "${{ env.TRACE_CAPTURE_FILE }}" > "${{ env.TRACE_CAPTURE_LOG }}" 2>&1 &
220
223
221
224
- name : Run Unit & Integration tests
222
- if : inputs.standard && !inputs.minimum-base-package
225
+ if : matrix.test_type == 'unit' && !inputs.minimum-base-package
223
226
env :
224
227
DDEV_TEST_ENABLE_TRACING : " ${{ inputs.repo == 'core' && '1' || '0' }}"
225
228
run : |
@@ -239,7 +242,7 @@ jobs:
239
242
fi
240
243
241
244
- name : Run Unit & Integration tests with minimum version of base package
242
- if : inputs.standard && inputs.minimum-base-package
245
+ if : matrix.test_type == 'unit' && inputs.minimum-base-package
243
246
run : |
244
247
if [ '${{ inputs.pytest-args }}' = '-m flaky' ]; then
245
248
set +e # Disable immediate exit
@@ -257,7 +260,7 @@ jobs:
257
260
fi
258
261
259
262
- name : Run E2E tests with latest base package
260
- if : inputs.standard && inputs.repo == 'core' && !inputs.minimum-base-package
263
+ if : matrix.test_type == 'e2e' && inputs.repo == 'core' && !inputs.minimum-base-package
261
264
env :
262
265
DD_API_KEY : " ${{ secrets.DD_API_KEY }}"
263
266
run : |
@@ -295,7 +298,7 @@ jobs:
295
298
fi
296
299
297
300
- name : Run E2E tests
298
- if : inputs.standard && inputs.repo != 'core'
301
+ if : matrix.test_type == 'e2e' && inputs.repo != 'core'
299
302
env :
300
303
DD_API_KEY : " ${{ secrets.DD_API_KEY }}"
301
304
run : |
@@ -387,7 +390,7 @@ jobs:
387
390
if : inputs.repo == 'core' && always()
388
391
uses : actions/upload-artifact@v4
389
392
with :
390
- name : " ${{ inputs.traces-artifact-name }}-${{ inputs.target }}-${{ inputs.platform }}"
393
+ name : " ${{ inputs.traces-artifact-name }}-${{ inputs.target }}-${{ inputs.platform }}-${{ matrix.test_type }} "
391
394
path : " ${{ env.TRACE_CAPTURE_FILE }}"
392
395
393
396
- name : Finalize test results
@@ -402,7 +405,7 @@ jobs:
402
405
if : always()
403
406
uses : actions/upload-artifact@v4
404
407
with :
405
- name : " test-results-${{ inputs.target }}-${{ inputs.platform }}"
408
+ name : " test-results-${{ inputs.target }}-${{ inputs.platform }}-${{ matrix.test_type }} "
406
409
path : " ${{ env.TEST_RESULTS_BASE_DIR }}"
407
410
408
411
- name : Upload coverage data
0 commit comments