1818
1919jobs :
2020 Build :
21- runs-on : ubuntu-22.04
21+ runs-on : ${{ matrix.platform == 'aarch64' && 'opencv-cn-lin-arm64' || ' ubuntu-22.04' }}
2222 defaults :
2323 run :
2424 shell : bash
2525 strategy :
2626 fail-fast : false
27- matrix :
28- python-version : ['3.9']
29- platform : [x64]
30- with_contrib : [0, 1]
31- without_gui : [0, 1]
27+ matrix :
28+ python-version : ['3.9']
29+ platform : [x86_64, aarch64]
30+ manylinux : [2014, 2_28]
31+ with_contrib : [0, 1]
32+ without_gui : [0, 1]
3233 build_sdist : [0]
34+ include :
35+ - platform : aarch64
36+ manylinux : 2014
37+ DOCKER_IMAGE : quay.io/opencv-ci/opencv-python-manylinux2014-aarch64:20250630
38+ - platform : x86_64
39+ manylinux : 2014
40+ DOCKER_IMAGE : quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630
41+ - platform : x86_64
42+ manylinux : 2_28
43+ DOCKER_IMAGE : quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20251013
44+ - platform : aarch64
45+ manylinux : 2_28
46+ DOCKER_IMAGE : quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20251013
47+
3348 env :
3449 ACTIONS_ALLOW_UNSECURE_COMMANDS : true
3550 REPO_DIR : .
3651 PROJECT_SPEC : opencv-python
3752 MB_PYTHON_VERSION : ${{ matrix.python-version }}
3853 TRAVIS_PYTHON_VERSION : ${{ matrix.python-version }}
39- MB_ML_VER : 2014
54+ MB_ML_VER : ${{ matrix.manylinux }}
4055 TRAVIS_BUILD_DIR : ${{ github.workspace }}
4156 CONFIG_PATH : travis_config.sh
42- DOCKER_IMAGE : quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630
57+ DOCKER_IMAGE : ${{ matrix.DOCKER_IMAGE }}
4358 USE_CCACHE : 0
4459 UNICODE_WIDTH : 32
45- PLAT : x86_64
60+ PLAT : ${{ matrix.platform }}
4661 SDIST : ${{ matrix.build_sdist || 0 }}
4762 ENABLE_HEADLESS : ${{ matrix.without_gui }}
4863 ENABLE_CONTRIB : ${{ matrix.with_contrib }}
64+
4965 steps :
5066 - name : Cleanup
5167 run : find . -mindepth 1 -delete
@@ -60,35 +76,42 @@ jobs:
6076 with :
6177 submodules : false
6278 fetch-depth : 0
79+
6380 - name : Build a package
6481 run : source scripts/build.sh
6582 - name : Saving a wheel accordingly to matrix
6683 uses : actions/upload-artifact@v4
6784 with :
68- name : wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
85+ name : wheel-${{ matrix.platform }}-${{ matrix.manylinux }}-${{ matrix. with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
6986 path : wheelhouse/opencv*.whl
7087
7188 Test :
7289 needs : [Build]
73- runs-on : ubuntu-22.04
90+ runs-on : ${{ matrix.platform == 'aarch64' && 'opencv-cn-lin-arm64' || ' ubuntu-22.04' }}
7491 defaults :
7592 run :
7693 shell : bash
7794 strategy :
7895 fail-fast : false
7996 matrix :
8097 python-version : ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
81- platform : [x64]
98+ platform : [x86_64, aarch64]
99+ manylinux : [2014, 2_28]
82100 with_contrib : [0, 1]
83101 without_gui : [0, 1]
84102 build_sdist : [0]
103+
85104 env :
86105 ACTIONS_ALLOW_UNSECURE_COMMANDS : true
87106 MB_PYTHON_VERSION : ${{ matrix.python-version }}
88107 NP_TEST_DEP : numpy==1.19.4
89108 NP_TEST_DEP_LATEST : numpy==2.2.6
90109 CONFIG_PATH : travis_config.sh
91- PLAT : x86_64
110+ PLAT : ${{ matrix.platform }}
111+ SDIST : ${{ matrix.build_sdist || 0 }}
112+ ENABLE_HEADLESS : ${{ matrix.without_gui }}
113+ ENABLE_CONTRIB : ${{ matrix.with_contrib }}
114+ DOCKER_TEST_IMAGE : ${{ matrix.platform == 'aarch64' && 'quay.io/opencv-ci/multibuild-focal_arm64v8:2025-11-13' || '' }}
92115 steps :
93116 - name : Cleanup
94117 run : find . -mindepth 1 -delete
@@ -98,12 +121,13 @@ jobs:
98121 with :
99122 submodules : true
100123 fetch-depth : 0
124+
101125 - name : Setup Environment variables
102126 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
103127 - name : Download a wheel accordingly to matrix
104128 uses : actions/download-artifact@v4
105129 with :
106- name : wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
130+ name : wheel-${{ matrix.platform }}-${{ matrix.manylinux }}-${{ matrix. with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
107131 path : wheelhouse/
108132 - name : Package installation and run tests
109133 run : source scripts/install.sh
0 commit comments