5858 required : false
5959 description : ' Run all tests, non will fail'
6060 options :
61- - " false"
6261 - " true"
62+ - " false"
6363 validation-tests-1 :
6464 type : string
65- default : ' tests/ single/video/pacing'
65+ default : ' single/video/pacing'
6666 required : true
6767 description : ' 1st validation tests to run'
6868 validation-tests-2 :
6969 type : string
70- default : ' '
70+ default : ' single/ancillary '
7171 required : false
7272 description : ' 2nd validation tests to run'
7373 validation-pre-release-1 :
@@ -131,7 +131,7 @@ jobs:
131131 if : always()
132132 run : |
133133 sudo chown -R "${USER}" "$(pwd)"
134- env
134+ env | grep TEST_
135135
136136 - name : ' preparation: Checkout MTL'
137137 uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -150,7 +150,7 @@ jobs:
150150 sudo apt update
151151 sudo apt-get remove -y pipenv || true
152152 sudo apt-get install -y \
153- git gcc meson \
153+ git gcc meson tar zip \
154154 pkg-config \
155155 python3 \
156156 python3-pyelftools \
@@ -235,22 +235,27 @@ jobs:
235235 run : |
236236 sudo MtlManager &
237237
238- - name : ' execution: Run validation-tests-1 in pipenv environment'
239- if : inputs.validation-tests-1 != ''
238+ - name : ' execution: Run validation-tests in pipenv environment'
240239 working-directory : tests/validation
241240 run : |
242241 set +e
243242 export TEST_PORT_P="${{ env.TEST_PORT_P }}"
244243 export TEST_PORT_R="${{ env.TEST_PORT_R }}"
245- TESTS_TO_EXECUTE=( $(grep -v "collected in" <(${{ env.PYTEST_ALIAS }} "${{ inputs.validation-tests-1 }}" ${{ env.PYTEST_PARAMS }} --nic="${TEST_PORT_P},${TEST_PORT_R}" --collect-only -q --no-summary 2>&1)) )
246- NUMBER_OF_TESTS="${#TESTS_TO_EXECUTE[@]}"
244+ TESTS_INCLUDED_IN_EXECUTION=( $(grep -v "collected in" <(${{ env.PYTEST_ALIAS }} "tests/${{ inputs.validation-tests-1 }}" ${{ env.PYTEST_PARAMS }} --nic="${TEST_PORT_P},${TEST_PORT_R}" --collect-only -q --no-summary 2>&1)) )
245+ SUMMARY_MAIN_HEADER="Starting tests/${{ inputs.validation-tests-1 }}"
246+ if [[ -n "${{ inputs.validation-tests-2 }}" ]]; then
247+ TESTS_INCLUDED_IN_EXECUTION+=( $(grep -v "collected in" <(${{ env.PYTEST_ALIAS }} "tests/${{ inputs.validation-tests-2 }}" ${{ env.PYTEST_PARAMS }} --nic="${TEST_PORT_P},${TEST_PORT_R}" --collect-only -q --no-summary 2>&1)) )
248+ SUMMARY_MAIN_HEADER="${SUMMARY_MAIN_HEADER}, tests/${{ inputs.validation-tests-2 }}"
249+ fi
250+
251+ NUMBER_OF_TESTS="${#TESTS_INCLUDED_IN_EXECUTION[@]}"
247252 TESTS_FAIL=()
248253 TESTS_SUCCESS=()
249- echo "## Starting ${{ inputs.validation- tests-1 }} (total ${NUMBER_OF_TESTS}) :rocket:" >> "$GITHUB_STEP_SUMMARY"
250- echo "| ? | Collected Test | Started | Ended | Took (s) | Result |" >> "$GITHUB_STEP_SUMMARY"
254+ echo "## ${SUMMARY_MAIN_HEADER} tests (total ${NUMBER_OF_TESTS}) :rocket:" >> "$GITHUB_STEP_SUMMARY"
255+ echo "| ❌/✅ | Collected Test | Started | Ended | Took (s) | Result |" >> "$GITHUB_STEP_SUMMARY"
251256 echo "| --- | ---| --- | --- | --- | --- |" >> "$GITHUB_STEP_SUMMARY"
252257
253- for test in ${TESTS_TO_EXECUTE [@]}; do
258+ for test in ${TESTS_INCLUDED_IN_EXECUTION [@]}; do
254259 echo "::group::${test}"
255260 PYTEST_START_HI="$(date '+%s')"
256261 ${{ env.PYTEST_ALIAS }} "${test}" ${{ env.PYTEST_PARAMS }} --nic="${TEST_PORT_P},${TEST_PORT_R}" --collect-only -q --no-summary
@@ -283,12 +288,6 @@ jobs:
283288 exit 1
284289 fi
285290
286- - name : ' execution: Run validation-tests-2 in pipenv environment'
287- if : inputs.validation-tests-2 != ''
288- working-directory : tests/validation
289- run : |
290- ${{ env.PYTEST_ALIAS }} '${{ inputs.validation-tests-2 }}' ${{ env.PYTEST_PARAMS }} || ${{ inputs.validation-no-fail-tests }}
291-
292291 - name : ' execution: Run validation-pre-release-1 in pipenv environment'
293292 if : inputs.validation-pre-release-1 != 'NONE'
294293 working-directory : tests/validation
@@ -317,6 +316,8 @@ jobs:
317316 - name : ' cleanup: Restore valid owner to repository and directories'
318317 if : always()
319318 run : |
319+ sudo tar -czf "${{ github.workspace }}/tests/validation/validation-execution-logs.tar.gz" "${{ github.workspace }}/tests/validation/logs"
320+ sudo rm -rf "${{ github.workspace }}/tests/validation/logs"
320321 sudo chown -R "${USER}" "$(pwd)"
321322
322323 - name : ' cleanup: Bind pf to kernel driver'
@@ -331,8 +332,8 @@ jobs:
331332 if : always()
332333 uses : actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
333334 with :
334- name : validation-execution-logs
335- path : ' ${{ github.workspace }}/tests/validation/logs'
335+ name : ' validation-execution-logs'
336+ path : ' ${{ github.workspace }}/tests/validation/validation-execution- logs.tar.gz '
336337
337338 - name : ' cleanup: Generate runner summary'
338339 if : always()
0 commit comments