diff --git a/.github/workflows/_run-docker-compose.yml b/.github/workflows/_run-docker-compose.yml index 4cedc7f447..54ec72eea3 100644 --- a/.github/workflows/_run-docker-compose.yml +++ b/.github/workflows/_run-docker-compose.yml @@ -85,6 +85,10 @@ jobs: fi done + if [ -z "$run_test_cases" ] && [[ $(printf '%s\n' "${changed_files[@]}" | grep ${{ inputs.example }} | grep /tests/) ]]; then + run_test_cases=$other_test_cases + fi + test_cases=$(echo $run_test_cases | tr ' ' '\n' | sort -u | jq -R '.' | jq -sc '.') echo "test_cases=$test_cases" echo "test_cases=$test_cases" >> $GITHUB_OUTPUT diff --git a/.github/workflows/scripts/get_test_matrix.sh b/.github/workflows/scripts/get_test_matrix.sh index 7eb0362ef2..2d6efddd24 100644 --- a/.github/workflows/scripts/get_test_matrix.sh +++ b/.github/workflows/scripts/get_test_matrix.sh @@ -26,7 +26,10 @@ for example in ${examples}; do run_hardware="" if [[ $(printf '%s\n' "${changed_files[@]}" | grep ${example} | cut -d'/' -f2 | grep -E '\.py|Dockerfile*|ui|docker_image_build' ) ]]; then - # run test on all hardware if megaservice or ui code change + echo "run test on all hardware if megaservice or ui code change..." + run_hardware=$hardware_list + elif [[ $(printf '%s\n' "${changed_files[@]}" | grep ${example} | grep 'tests'| cut -d'/' -f3 | grep -vE '^test_|^_test' ) ]]; then + echo "run test on all hardware if common test scripts change..." run_hardware=$hardware_list else for hardware in ${hardware_list}; do