diff --git a/.github/workflows/windows_conditional_compilation.yml b/.github/workflows/windows_conditional_compilation.yml index 547093d4b6ddaf..747121d3bfa572 100644 --- a/.github/workflows/windows_conditional_compilation.yml +++ b/.github/workflows/windows_conditional_compilation.yml @@ -5,21 +5,7 @@ on: # run daily at 00:00 - cron: '0 0 * * *' pull_request: - paths-ignore: - - '**/docs/**' - - 'docs/**' - - '**/**.md' - - '**.md' - - '**/layer_tests_summary/**' - - '**/conformance/**' push: - paths-ignore: - - '**/docs/**' - - 'docs/**' - - '**/**.md' - - '**.md' - - '**/layer_tests_summary/**' - - '**/conformance/**' branches: - master - 'releases/**' @@ -33,7 +19,31 @@ env: PYTHON_VERSION: '3.11' jobs: + Smart_CI: + runs-on: ubuntu-latest + outputs: + affected_components: "${{ steps.smart_ci.outputs.affected_components }}" + skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}" + steps: + - name: checkout action + uses: actions/checkout@v4 + with: + sparse-checkout: .github/actions/smart-ci + + - name: Get affected components + id: smart_ci + uses: ./.github/actions/smart-ci + with: + repository: ${{ github.repository }} + pr: ${{ github.event.number }} + commit_sha: ${{ github.sha }} + component_pattern: "category: (.*)" + repo_token: ${{ secrets.GITHUB_TOKEN }} + skip_when_only_listed_labels_set: 'docs' + skip_when_only_listed_files_changed: '*.md,*.rst,*.png,*.jpg,*.svg,*/layer_tests_summary/*,*/conformance/*' + Build: + needs: Smart_CI timeout-minutes: 180 defaults: run: @@ -52,6 +62,8 @@ jobs: SELECTIVE_BUILD_STAT_DIR: "${{ github.workspace }}\\selective_build_stat" # TODO: specify version of compiler here SCCACHE_AZURE_KEY_PREFIX: windows2022_x86_64_itt_Release + if: "!needs.smart_ci.outputs.skip_workflow" + steps: - name: Clone OpenVINO uses: actions/checkout@v4 @@ -234,7 +246,7 @@ jobs: CC_Build: name: Conditional Compilation - needs: Build + needs: [Build, Smart_CI] defaults: run: shell: pwsh @@ -248,6 +260,8 @@ jobs: MODELS_PATH: "${{ github.workspace }}\\testdata" SELECTIVE_BUILD_STAT_DIR: "${{ github.workspace }}\\selective_build_stat" SCCACHE_AZURE_KEY_PREFIX: windows2022_x86_64_cc_Release + if: "!needs.smart_ci.outputs.skip_workflow" + steps: - name: Clone OpenVINO uses: actions/checkout@v4 @@ -323,7 +337,7 @@ jobs: CPU_Functional_Tests: name: CPU functional tests - needs: Build + needs: [Build, Smart_CI] timeout-minutes: 70 defaults: run: @@ -334,6 +348,7 @@ jobs: INSTALL_TEST_DIR: "${{ github.workspace }}\\tests_install" PARALLEL_TEST_SCRIPT: "${{ github.workspace }}\\tests_install\\layer_tests_summary\\run_parallel.py" PARALLEL_TEST_CACHE: "${{ github.workspace }}\\tests_install\\test_cache.lst" + if: fromJSON(needs.smart_ci.outputs.affected_components).CPU.test steps: - name: Download OpenVINO tests package @@ -392,3 +407,17 @@ jobs: ${{ env.INSTALL_TEST_DIR }}/logs/interapted/*.log ${{ env.INSTALL_TEST_DIR }}/logs/disabled_tests.log if-no-files-found: 'error' + + Overall_Status: + name: ci/gha_overall_status_windows_cc + needs: [Smart_CI, Build, CC_Build, CPU_Functional_Tests] + if: ${{ always() }} + runs-on: ubuntu-latest + steps: + - name: Check status of all jobs + if: >- + ${{ + contains(needs.*.result, 'failure') || + contains(needs.*.result, 'cancelled') + }} + run: exit 1