Skip to content

Commit e9eb56a

Browse files
committed
Fix: Working inputs.validation-tests-1 input
Fix: Fixed overall pytest/workflow run success rate by using single cases and retry approach Feature: Working inputs.validation-tests-2 input Feature: Type of bonding to use for validation run (Validation-iface-binding) Feature: Type of port_p and port_r to use for validation run (validation-test-port-p, validation-test-port-r) Signed-off-by: Milosz Linkiewicz <[email protected]>
1 parent 48bdaee commit e9eb56a

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

.github/workflows/validation-tests.yml

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,16 @@ on:
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

Comments
 (0)