@@ -3,8 +3,6 @@ name: Linux x86_64
33on :
44 pull_request :
55 branches :
6- - master
7- - 3.4
86 - 4.x
97 - 5.x
108 paths-ignore :
2018
2119jobs :
2220 Build :
23- runs-on : ubuntu-20 .04
21+ runs-on : ubuntu-22 .04
2422 defaults :
2523 run :
2624 shell : bash
2725 strategy :
2826 fail-fast : false
2927 matrix :
30- python-version : ['3.7 ']
28+ python-version : ['3.9 ']
3129 platform : [x64]
3230 with_contrib : [0, 1]
3331 without_gui : [0, 1]
4139 MB_ML_VER : 2014
4240 TRAVIS_BUILD_DIR : ${{ github.workspace }}
4341 CONFIG_PATH : travis_config.sh
44- DOCKER_IMAGE : quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20230117
42+ DOCKER_IMAGE : quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630
4543 USE_CCACHE : 0
4644 UNICODE_WIDTH : 32
4745 PLAT : x86_64
@@ -64,27 +62,22 @@ jobs:
6462 fetch-depth : 0
6563 - name : Build a package
6664 run : source scripts/build.sh
67- - name : Saving all wheels
68- uses : actions/upload-artifact@v3
69- with :
70- name : wheels
71- path : wheelhouse/opencv*.whl
7265 - name : Saving a wheel accordingly to matrix
73- uses : actions/upload-artifact@v3
66+ uses : actions/upload-artifact@v4
7467 with :
7568 name : wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
7669 path : wheelhouse/opencv*.whl
7770
7871 Test :
7972 needs : [Build]
80- runs-on : ubuntu-20 .04
73+ runs-on : ubuntu-22 .04
8174 defaults :
8275 run :
8376 shell : bash
8477 strategy :
8578 fail-fast : false
8679 matrix :
87- python-version : ['3.7', '3.8', '3.9', '3.10', '3.11']
80+ python-version : ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13' ]
8881 platform : [x64]
8982 with_contrib : [0, 1]
9083 without_gui : [0, 1]
9386 ACTIONS_ALLOW_UNSECURE_COMMANDS : true
9487 MB_PYTHON_VERSION : ${{ matrix.python-version }}
9588 NP_TEST_DEP : numpy==1.19.4
96- NP_TEST_DEP_LATEST : numpy==1.24.0
89+ NP_TEST_DEP_LATEST : numpy==2.2.6
9790 CONFIG_PATH : travis_config.sh
9891 PLAT : x86_64
9992 steps :
@@ -106,17 +99,17 @@ jobs:
10699 submodules : true
107100 fetch-depth : 0
108101 - name : Setup Environment variables
109- run : if [ "3.10" == "${{ matrix.python-version }}" -o "3.11" == "${{ matrix.python-version }}" ]; then echo "TEST_DEPENDS=$(echo $NP_TEST_DEP_LATEST)" >> $GITHUB_ENV; else echo "TEST_DEPENDS=$(echo $NP_TEST_DEP)" >> $GITHUB_ENV; fi
102+ run : if [ "3.10" == "${{ matrix.python-version }}" -o "3.11" == "${{ matrix.python-version }}" -o "3.12" == "${{ matrix.python-version }}" -o "3.13" == "${{ matrix.python-version }}" ]; then echo "TEST_DEPENDS=$(echo $NP_TEST_DEP_LATEST)" >> $GITHUB_ENV; else echo "TEST_DEPENDS=$(echo $NP_TEST_DEP)" >> $GITHUB_ENV; fi
110103 - name : Download a wheel accordingly to matrix
111- uses : actions/download-artifact@v3
104+ uses : actions/download-artifact@v4
112105 with :
113106 name : wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
114107 path : wheelhouse/
115108 - name : Package installation and run tests
116109 run : source scripts/install.sh
117110
118111 Build_sdist :
119- runs-on : ubuntu-20 .04
112+ runs-on : ubuntu-22 .04
120113 defaults :
121114 run :
122115 shell : bash
@@ -139,7 +132,7 @@ jobs:
139132 NP_TEST_DEP : numpy==1.19.4
140133 TRAVIS_BUILD_DIR : ${{ github.workspace }}
141134 CONFIG_PATH : travis_config.sh
142- DOCKER_IMAGE : quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20230117
135+ DOCKER_IMAGE : quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630
143136 USE_CCACHE : 1
144137 UNICODE_WIDTH : 32
145138 SDIST : ${{ matrix.build_sdist || 0 }}
@@ -177,85 +170,84 @@ jobs:
177170 set -x
178171 echo "skipping tests because of sdist"
179172 - name : saving artifacts
180- uses : actions/upload-artifact@v3
173+ uses : actions/upload-artifact@v4
181174 with :
182- name : wheels
175+ name : wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
183176 path : dist/opencv*.tar.gz
184177
185178 Release_rolling :
186179 if : ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
187180 needs : [Build, Test]
188- runs-on : ubuntu-20 .04
181+ runs-on : ubuntu-22 .04
189182 environment : opencv-python-rolling-release
190183 defaults :
191184 run :
192185 shell : bash
193186 steps :
194- - uses : actions/download-artifact@v3
187+ - uses : actions/download-artifact@v4
195188 with :
196- name : wheels
197189 path : wheelhouse/
190+
198191 - name : Upload wheels for opencv_python_rolling
199192 run : |
200193 python -m pip install twine
201- python -m twine upload -u ${{ secrets.OPENCV_PYTHON_ROLLING_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_ROLLING_PASSWORD }} --skip-existing wheelhouse/opencv_python_rolling-*
194+ python -m twine upload -u ${{ secrets.OPENCV_PYTHON_ROLLING_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_ROLLING_PASSWORD }} --skip-existing wheelhouse/wheel-*/ opencv_python_rolling-*
202195 - name : Upload wheels for opencv_contrib_python_rolling
203196 run : |
204197 python -m pip install twine
205- python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_ROLLING_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_ROLLING_PASSWORD }} --skip-existing wheelhouse/opencv_contrib_python_rolling-*
198+ python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_ROLLING_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_ROLLING_PASSWORD }} --skip-existing wheelhouse/wheel-*/ opencv_contrib_python_rolling-*
206199 - name : Upload wheels for opencv_python_headless_rolling
207200 run : |
208201 python -m pip install twine
209- python -m twine upload -u ${{ secrets.OPENCV_PYTHON_HEADLESS_ROLLING_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_HEADLESS_ROLLING_PASSWORD }} --skip-existing wheelhouse/opencv_python_headless_rolling-*
202+ python -m twine upload -u ${{ secrets.OPENCV_PYTHON_HEADLESS_ROLLING_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_HEADLESS_ROLLING_PASSWORD }} --skip-existing wheelhouse/wheel-*/ opencv_python_headless_rolling-*
210203 - name : Upload wheels for opencv_contrib_python_headless_rolling
211204 run : |
212205 python -m pip install twine
213- python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_HEADLESS_ROLLING_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_HEADLESS_ROLLING_PASSWORD }} --skip-existing wheelhouse/opencv_contrib_python_headless_rolling-*
206+ python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_HEADLESS_ROLLING_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_HEADLESS_ROLLING_PASSWORD }} --skip-existing wheelhouse/wheel-*/ opencv_contrib_python_headless_rolling-*
214207
215208 Pre-release :
216209 if : github.event_name == 'release' && github.event.release.prerelease
217210 needs : [Build, Build_sdist, Test]
218- runs-on : ubuntu-20 .04
211+ runs-on : ubuntu-22 .04
219212 environment : test-opencv-python-release
220213 defaults :
221214 run :
222215 shell : bash
223216 steps :
224- - uses : actions/download-artifact@v3
217+ - uses : actions/download-artifact@v4
225218 with :
226- name : wheels
227219 path : wheelhouse/
220+
228221 - name : Upload all wheels
229222 run : |
230223 python -m pip install twine
231- python -m twine upload --repository testpypi -u ${{ secrets.PYPI_USERNAME }} -p ${{ secrets.PYPI_PASSWORD }} --skip-existing wheelhouse/opencv_* wheelhouse/opencv-*
224+ python -m twine upload --repository testpypi -u ${{ secrets.PYPI_USERNAME }} -p ${{ secrets.PYPI_PASSWORD }} --skip-existing wheelhouse/wheel-*/ opencv_* wheelhouse/wheel-* /opencv-*
232225
233226 Release :
234227 if : github.event_name == 'release' && !github.event.release.prerelease
235228 needs : [Build, Build_sdist, Test]
236- runs-on : ubuntu-20 .04
229+ runs-on : ubuntu-22 .04
237230 environment : opencv-python-release
238231 defaults :
239232 run :
240233 shell : bash
241234 steps :
242- - uses : actions/download-artifact@v3
235+ - uses : actions/download-artifact@v4
243236 with :
244- name : wheels
245237 path : wheelhouse/
246238 - name : Upload wheels for opencv_python
247239 run : |
248240 python -m pip install twine
249- python -m twine upload -u ${{ secrets.OPENCV_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_python-* wheelhouse/opencv-python-[^h]*
241+ python -m twine upload -u ${{ secrets.OPENCV_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_PASSWORD }} --skip-existing wheelhouse/wheel-*/ opencv_python-* wheelhouse/wheel-* /opencv-python-[^h]*
250242 - name : Upload wheels for opencv_contrib_python
251243 run : |
252244 python -m pip install twine
253- python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_contrib_python-* wheelhouse/opencv-contrib-python-[^h]*
245+ python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_PASSWORD }} --skip-existing wheelhouse/wheel-*/ opencv_contrib_python-* wheelhouse/wheel-* /opencv-contrib-python-[^h]*
254246 - name : Upload wheels for opencv_python_headless
255247 run : |
256248 python -m pip install twine
257- python -m twine upload -u ${{ secrets.OPENCV_PYTHON_HEADLESS_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_HEADLESS_PASSWORD }} --skip-existing wheelhouse/opencv_python_headless-* wheelhouse/opencv-python-headless-*
249+ python -m twine upload -u ${{ secrets.OPENCV_PYTHON_HEADLESS_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_HEADLESS_PASSWORD }} --skip-existing wheelhouse/wheel-*/ opencv_python_headless-* wheelhouse/wheel-* /opencv-python-headless-*
258250 - name : Upload wheels for opencv_contrib_python_headless
259251 run : |
260252 python -m pip install twine
261- python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_HEADLESS_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_HEADLESS_PASSWORD }} --skip-existing wheelhouse/opencv_contrib_python_headless-* wheelhouse/opencv-contrib-python-headless-*
253+ python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_HEADLESS_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_HEADLESS_PASSWORD }} --skip-existing wheelhouse/wheel-*/ opencv_contrib_python_headless-* wheelhouse/wheel-* /opencv-contrib-python-headless-*
0 commit comments