1
+ name : Windows (VS 2019, Python 3.11)
2
+ on :
3
+ workflow_dispatch :
4
+ pull_request :
5
+ merge_group :
6
+ push :
7
+ branches :
8
+ - master
9
+ - ' releases/**'
10
+
11
+ concurrency :
12
+ # github.ref is not unique in post-commit
13
+ group : ${{ github.event_name == 'push' && github.run_id || github.ref }}-windows
14
+ cancel-in-progress : true
15
+
16
+ env :
17
+ PYTHON_VERSION : ' 3.11'
18
+
19
+ jobs :
20
+ Build_and_test :
21
+ name : Build and Test
22
+ timeout-minutes : 150
23
+ defaults :
24
+ run :
25
+ shell : pwsh
26
+ runs-on : windows-2019-16-core
27
+ env :
28
+ CMAKE_BUILD_TYPE : ' Release'
29
+ CMAKE_GENERATOR : ' Ninja Multi-Config'
30
+ CMAKE_CXX_COMPILER_LAUNCHER : ccache
31
+ CMAKE_C_COMPILER_LAUNCHER : ccache
32
+ OPENVINO_REPO : ${{ github.workspace }}\\openvino
33
+ OPENVINO_CONTRIB_REPO : ${{ github.workspace }}\\openvino_contrib
34
+ TEST_DATA : ${{ github.workspace }}\\testdata
35
+ INSTALL_DIR : ${{ github.workspace }}\\openvino\\install
36
+ BUILD_DIR : ${{ github.workspace }}\\openvino\\build
37
+ GRADLE_VER : ' 7.1.1'
38
+
39
+ steps :
40
+ - name : git configuration
41
+ run : git config --system core.longpaths true
42
+
43
+ - name : Clone OpenVINO
44
+ uses : actions/checkout@v4
45
+ with :
46
+ repository : ' openvinotoolkit/openvino'
47
+ path : ${{ env.OPENVINO_REPO }}
48
+ submodules : ' true'
49
+ ref : ' master'
50
+
51
+ - name : Clone OpenVINO Contrib
52
+ uses : actions/checkout@v4
53
+ with :
54
+ path : ${{ env.OPENVINO_CONTRIB_REPO }}
55
+ submodules : ' true'
56
+
57
+ - name : Clone Testdata
58
+ uses : actions/checkout@v4
59
+ with :
60
+ repository : ' openvinotoolkit/testdata'
61
+ path : ${{ env.TEST_DATA }}
62
+ lfs : ' true'
63
+ submodules : ' true'
64
+
65
+ #
66
+ # Dependencies
67
+ #
68
+
69
+ - name : Setup Gradle
70
+ uses : gradle/actions/setup-gradle@v3
71
+ with :
72
+ gradle-version : ${{ env.GRADLE_VER }}
73
+
74
+ - name : Setup Python ${{ env.PYTHON_VERSION }}
75
+ uses : actions/setup-python@v5
76
+ with :
77
+ python-version : ${{ env.PYTHON_VERSION }}
78
+ cache : ' pip'
79
+
80
+ - name : Install python dependencies
81
+ run : |
82
+ # For Python API: build and wheel packaging
83
+ python3 -m pip install -r ${env:OPENVINO_REPO}/src/bindings/python/wheel/requirements-dev.txt
84
+
85
+ - name : Install build dependencies
86
+ run : |
87
+ Invoke-WebRequest https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-win.zip -OutFile ninja-win.zip -MaximumRetryCount 10
88
+ Expand-Archive -Force ninja-win.zip
89
+ # Add it to the GitHub Path so it would be available in the subsequent steps
90
+ Add-Content -Path $env:GITHUB_PATH -Value "${{ github.workspace }}/ninja-win"
91
+
92
+ #
93
+ # Build
94
+ #
95
+
96
+ - name : Setup ccache
97
+ uses : hendrikmuhs/ccache-action@v1.2
98
+ with :
99
+ max-size : " 2000M"
100
+ # Should save cache only if run in the master branch of the base repo
101
+ # github.ref_name is 'ref/PR_#' in case of the PR, and 'branch_name' when executed on push
102
+ save : ${{ github.ref_name == 'master' && 'true' || 'false' }}
103
+ verbose : 2
104
+ key : ccache-windows
105
+ restore-keys : |
106
+ ccache-windows
107
+
108
+ - name : CMake configure - OpenVINO
109
+ run : |
110
+ cmake -G "${{ env.CMAKE_GENERATOR }}" `
111
+ -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} `
112
+ -DBUILD_nvidia_plugin=OFF `
113
+ -DENABLE_OV_TF_FRONTEND=OFF `
114
+ -DENABLE_OV_PADDLE_FRONTEND=OFF `
115
+ -DENABLE_OV_TF_LITE_FRONTEND=OFF `
116
+ -DENABLE_OV_PYTORCH_FRONTEND=OFF `
117
+ -DENABLE_INTEL_GPU=OFF `
118
+ -DENABLE_CPPLINT=OFF `
119
+ -DENABLE_SAMPLES=OFF `
120
+ -DENABLE_PYTHON=ON `
121
+ -DENABLE_JS=OFF `
122
+ -DOPENVINO_EXTRA_MODULES=${{ env.OPENVINO_CONTRIB_REPO }}/modules `
123
+ -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} `
124
+ -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} `
125
+ -S ${{ env.OPENVINO_REPO }} `
126
+ -B ${{ env.BUILD_DIR }}
127
+
128
+ - name : Clean ccache stats
129
+ run : ccache --zero-stats --show-config
130
+
131
+ - name : Cmake build - OpenVINO
132
+ run : cmake --build ${{ env.BUILD_DIR }} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --verbose
133
+
134
+ - name : Show ccache stats
135
+ run : ccache --show-stats
136
+
137
+ - name : Cmake install - OpenVINO
138
+ run : cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/cmake_install.cmake
139
+
140
+ - name : Java tests
141
+ working-directory : ${{ env.OPENVINO_CONTRIB_REPO }}/modules/java_api
142
+ run : |
143
+ . "${{ env.INSTALL_DIR }}/setupvars.ps1"
144
+ gradle clean build --info
145
+ gradle test -Prun_tests -DMODELS_PATH=${{ env.TEST_DATA }} -Ddevice=CPU --info
146
+
147
+ - name : Custom user operation tests
148
+ working-directory : ${{ env.OPENVINO_CONTRIB_REPO }}/modules/custom_operations
149
+ run : |
150
+ ls ${{ env.OPENVINO_REPO }}/bin/intel64/${{ env.CMAKE_BUILD_TYPE }}
151
+ . "${{ env.INSTALL_DIR }}/setupvars.ps1"
152
+ python3 -m pip install -r ${{ env.OPENVINO_REPO }}/modules/custom_operations/tests/requirements.txt
153
+
154
+ python3 -m pytest -k "not sparse_conv" tests/run_tests.py
155
+ env :
156
+ CUSTOM_OP_LIB : ${{ env.OPENVINO_REPO }}/bin/intel64/${{ env.CMAKE_BUILD_TYPE }}/user_ie_extensions.dll
157
+
158
+ - name : Upload Test Results
159
+ uses : actions/upload-artifact@v4
160
+ if : ${{ !cancelled() }}
161
+ with :
162
+ name : test-results-java
163
+ path : ${{ env.OPENVINO_CONTRIB_REPO }}/modules/java_api/build/test-results
164
+ if-no-files-found : ' warn'
0 commit comments