diff --git a/.github/workflows/linux_sanitizers.yml b/.github/workflows/linux_sanitizers.yml index 36c75213c158ce..149762e1214f0d 100644 --- a/.github/workflows/linux_sanitizers.yml +++ b/.github/workflows/linux_sanitizers.yml @@ -5,10 +5,15 @@ on: - cron: '0 0 * * *' workflow_dispatch: inputs: + # to be defined for specified test scopes (e.g. CPU func. tests) sanitizerMode: - description: 'Sanitizer mode for CPU func. tests (All || AddressAndLeak || UndefinedBehavior || Thread)' + description: 'Sanitizer mode for CPU func. tests (All || AddressAndLeak || UndefinedBehavior || Thread).' required: false - default: 'AddressAndLeak' + default: 'All' + gtestFilter: + description: 'Filter for CPU func. tests.' + required: false + default: '*smoke*' pull_request: paths: - '.github/workflows/linux_sanitizers.yml' @@ -502,8 +507,8 @@ jobs: if-no-files-found: 'error' CXX_Func_Tests: + # todo: move another plugin's func tests here name: C++ func tests - # change to in if: ${{ github.repository_owner == 'openvinotoolkit' }} needs: [Docker, Build] timeout-minutes: 200 @@ -563,17 +568,26 @@ jobs: # - name: CPU plugin func tests - # by default we run only AddressAndLeak + id: cpu_func + # by default in scheduled launch we run only AddressAndLeak with *smoke*Conv_* pattern + # to prevent false-positive alerts and time exceeded error, + # in workflow_dispatch case all smoke tests will be launched with all types of sanitizers + # if gtestFilter and sanMode inputs are not specified if: ${{ !cancelled() && (github.event_name == 'workflow_dispatch' && (inputs.sanitizerMode == 'All' || inputs.sanitizerMode == matrix.SANITIZER) || matrix.SANITIZER == 'AddressAndLeak')}} + env: + GTEST_FILTER: ${{ github.event_name == 'workflow_dispatch' && inputs.gtestFilter || '*smoke*Conv_*' }} run: | source ${INSTALL_DIR}/setupvars.sh ${INSTALL_TEST_DIR}/ov_cpu_func_tests --gtest_print_time=1 \ - --gtest_filter=*smoke_AdaPoolAvg4DLayoutTest* \ + --gtest_filter=${{ env.GTEST_FILTER }} \ --gtest_output=xml:${INSTALL_TEST_DIR}/TEST-CPUFuncTests.xml + - name: testStep + run: | + echo 'steps.cpu_func.conclusion == ${{steps.cpu_func.conclusion}}' - name: Upload Test Results uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 - if: ${{ !cancelled() }} + if: ${{ !cancelled() && steps.cpu_func.conclusion != 'skipped'}} with: name: func-test-results-cpp_${{ matrix.SANITIZER }} path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml