From d165fa25e84852fc20861cfd4a5798d59d6148ec Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Mon, 20 Oct 2025 20:25:38 +0300 Subject: [PATCH 01/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index cc7b0636..31ba9abe 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -26,7 +26,8 @@ jobs: fail-fast: false matrix: python-version: ['3.9'] - platform: [x64] + platform: [x64, aarch64] + manylinux: [2014, 2_28] with_contrib: [0, 1] without_gui: [0, 1] build_sdist: [0] @@ -36,13 +37,13 @@ jobs: PROJECT_SPEC: opencv-python MB_PYTHON_VERSION: ${{ matrix.python-version }} TRAVIS_PYTHON_VERSION: ${{ matrix.python-version }} - MB_ML_VER: 2014 + MB_ML_VER: ${{ matrix.manylinux }} TRAVIS_BUILD_DIR: ${{ github.workspace }} CONFIG_PATH: travis_config.sh - DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630 + DDOCKER_IMAGE: ${{ matrix.manylinux == '2014' && (matrix.platform == 'x64' && 'quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630') || '' || (matrix.platform == 'x64' && 'quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20251013') || 'quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20251013' }} USE_CCACHE: 0 UNICODE_WIDTH: 32 - PLAT: x86_64 + PLAT: ${{ matrix.platform == 'x64' && 'x86_64' || 'aarch64' }} SDIST: ${{ matrix.build_sdist || 0 }} ENABLE_HEADLESS: ${{ matrix.without_gui }} ENABLE_CONTRIB: ${{ matrix.with_contrib }} From 3a607e0898403a22299418cba1b72bf807fd0542 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Mon, 20 Oct 2025 21:45:37 +0300 Subject: [PATCH 02/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 31ba9abe..2d6f66df 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -40,7 +40,7 @@ jobs: MB_ML_VER: ${{ matrix.manylinux }} TRAVIS_BUILD_DIR: ${{ github.workspace }} CONFIG_PATH: travis_config.sh - DDOCKER_IMAGE: ${{ matrix.manylinux == '2014' && (matrix.platform == 'x64' && 'quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630') || '' || (matrix.platform == 'x64' && 'quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20251013') || 'quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20251013' }} + DOCKER_IMAGE: ${{ matrix.manylinux == '2014' && (matrix.platform == 'x64' && 'quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630') || '' || (matrix.platform == 'x64' && 'quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20251013') || 'quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20251013' }} USE_CCACHE: 0 UNICODE_WIDTH: 32 PLAT: ${{ matrix.platform == 'x64' && 'x86_64' || 'aarch64' }} From 5fcdfe993edef446d4cdbdc5fabd0a834678e708 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Tue, 21 Oct 2025 14:35:51 +0300 Subject: [PATCH 03/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 2d6f66df..1c12398a 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -47,6 +47,7 @@ jobs: SDIST: ${{ matrix.build_sdist || 0 }} ENABLE_HEADLESS: ${{ matrix.without_gui }} ENABLE_CONTRIB: ${{ matrix.with_contrib }} + steps: - name: Cleanup run: find . -mindepth 1 -delete From 8ea852c47ef3cd2d9689981042115dcdb255cc88 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Tue, 21 Oct 2025 21:09:13 +0300 Subject: [PATCH 04/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 1c12398a..aaba4219 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -67,7 +67,7 @@ jobs: - name: Saving a wheel accordingly to matrix uses: actions/upload-artifact@v4 with: - name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }} + name: wheel-${{ matrix.platform }}-${{ matrix.manylinux }}-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }} path: wheelhouse/opencv*.whl Test: @@ -105,7 +105,7 @@ jobs: - name: Download a wheel accordingly to matrix uses: actions/download-artifact@v4 with: - name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }} + name: wheel-${{ matrix.platform }}-${{ matrix.manylinux }}-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }} path: wheelhouse/ - name: Package installation and run tests run: source scripts/install.sh From 9ffd9e0c3a9895d0be6d7f8925e21da7af090b83 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Tue, 21 Oct 2025 21:22:22 +0300 Subject: [PATCH 05/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 26 ++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index aaba4219..4bd5f6a0 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -18,19 +18,29 @@ on: jobs: Build: - runs-on: ubuntu-22.04 + runs-on: ${{ matrix.platform == 'aarch64' && 'opencv-cn-lin-arm64' || 'ubuntu-22.04' }} defaults: run: shell: bash strategy: fail-fast: false matrix: - python-version: ['3.9'] - platform: [x64, aarch64] - manylinux: [2014, 2_28] - with_contrib: [0, 1] - without_gui: [0, 1] - build_sdist: [0] + include: + - python-version: "3.9" + platform: x64 + manylinux: 2014 + docker-image: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630 + - python-version: "3.9" + platform: x64 + manylinux: 2_28 + docker-image: quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20251013 + - python-version: "3.9" + platform: aarch64 + manylinux: 2_28 + docker-image: quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20251013 + with_contrib: [0, 1] + without_gui: [0, 1] + build_sdist: [0] env: ACTIONS_ALLOW_UNSECURE_COMMANDS: true REPO_DIR: . @@ -40,7 +50,7 @@ jobs: MB_ML_VER: ${{ matrix.manylinux }} TRAVIS_BUILD_DIR: ${{ github.workspace }} CONFIG_PATH: travis_config.sh - DOCKER_IMAGE: ${{ matrix.manylinux == '2014' && (matrix.platform == 'x64' && 'quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630') || '' || (matrix.platform == 'x64' && 'quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20251013') || 'quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20251013' }} + DOCKER_IMAGE: ${{ matrix.docker-image }} USE_CCACHE: 0 UNICODE_WIDTH: 32 PLAT: ${{ matrix.platform == 'x64' && 'x86_64' || 'aarch64' }} From e5ae6861376f2e41e661e18e8fa22df8fd86d871 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Tue, 21 Oct 2025 21:29:15 +0300 Subject: [PATCH 06/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 25 ++++++++++++------------ 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 4bd5f6a0..96269d36 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -25,19 +25,18 @@ jobs: strategy: fail-fast: false matrix: - include: - - python-version: "3.9" - platform: x64 - manylinux: 2014 - docker-image: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630 - - python-version: "3.9" - platform: x64 - manylinux: 2_28 - docker-image: quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20251013 - - python-version: "3.9" - platform: aarch64 - manylinux: 2_28 - docker-image: quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20251013 + platform_matrix: + include: + - platform: x64 + manylinux: 2014 + docker-image: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630 + - platform: x64 + manylinux: 2_28 + docker-image: quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20251013 + - platform: aarch64 + manylinux: 2_28 + docker-image: quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20251013 + python-version: ['3.9'] with_contrib: [0, 1] without_gui: [0, 1] build_sdist: [0] From ec4de44224c3bdd4d7a710ff68d5d0dcc6b6c358 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Tue, 21 Oct 2025 21:34:01 +0300 Subject: [PATCH 07/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 26 ++++++++---------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 96269d36..fd5f6262 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -24,22 +24,14 @@ jobs: shell: bash strategy: fail-fast: false - matrix: - platform_matrix: - include: - - platform: x64 - manylinux: 2014 - docker-image: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630 - - platform: x64 - manylinux: 2_28 - docker-image: quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20251013 - - platform: aarch64 - manylinux: 2_28 - docker-image: quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20251013 - python-version: ['3.9'] - with_contrib: [0, 1] - without_gui: [0, 1] - build_sdist: [0] + matrix: + python-version: ['3.9'] + platform: [x64, aarch64] + manylinux: [2014, 2_28] + with_contrib: [0, 1] + without_gui: [0, 1] + build_sdist: [0] + env: ACTIONS_ALLOW_UNSECURE_COMMANDS: true REPO_DIR: . @@ -49,7 +41,7 @@ jobs: MB_ML_VER: ${{ matrix.manylinux }} TRAVIS_BUILD_DIR: ${{ github.workspace }} CONFIG_PATH: travis_config.sh - DOCKER_IMAGE: ${{ matrix.docker-image }} + DOCKER_IMAGE: ${{ matrix.manylinux == '2014' && (matrix.platform == 'x64' && 'quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630') || '' || (matrix.platform == 'x64' && 'quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20251013') || 'quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20251013' }} USE_CCACHE: 0 UNICODE_WIDTH: 32 PLAT: ${{ matrix.platform == 'x64' && 'x86_64' || 'aarch64' }} From fc6b7cdce8728a5f42b90e920a04d0584f9aa724 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Wed, 22 Oct 2025 09:32:16 +0300 Subject: [PATCH 08/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index fd5f6262..90311da2 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -31,6 +31,9 @@ jobs: with_contrib: [0, 1] without_gui: [0, 1] build_sdist: [0] + exclude: + - platform: aarch64 + manylinux: 2014 env: ACTIONS_ALLOW_UNSECURE_COMMANDS: true From 31530dc97812e87e1d71fc6d8117f599e968185f Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Wed, 22 Oct 2025 09:37:02 +0300 Subject: [PATCH 09/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 90311da2..a11ba3ba 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -66,6 +66,13 @@ jobs: with: submodules: false fetch-depth: 0 + - name: Preinstall deps (ARM only) + if: matrix.platform == 'aarch64' + run: | + python3.9 -m ensurepip || true + python3.9 -m pip install --upgrade pip setuptools wheel + python3.9 -m pip install scikit-build toml cmake ninja + - name: Build a package run: source scripts/build.sh - name: Saving a wheel accordingly to matrix From 5ac8a222fa78e8f66c1dd496862f33ecf9a31fdb Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Wed, 22 Oct 2025 09:38:50 +0300 Subject: [PATCH 10/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index a11ba3ba..90311da2 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -66,13 +66,6 @@ jobs: with: submodules: false fetch-depth: 0 - - name: Preinstall deps (ARM only) - if: matrix.platform == 'aarch64' - run: | - python3.9 -m ensurepip || true - python3.9 -m pip install --upgrade pip setuptools wheel - python3.9 -m pip install scikit-build toml cmake ninja - - name: Build a package run: source scripts/build.sh - name: Saving a wheel accordingly to matrix From ec815b0697c22292d140f4d27ccfb6b30879f430 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Wed, 22 Oct 2025 11:56:50 +0300 Subject: [PATCH 11/29] Update build.sh --- scripts/build.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/build.sh b/scripts/build.sh index e5c83d83..08f6d919 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -15,4 +15,7 @@ echo $ENABLE_CONTRIB > contrib.enabled echo $ENABLE_HEADLESS > headless.enabled echo $ENABLE_ROLLING > rolling.enabled set -x +python3.9 -m ensurepip --upgrade || true +python3.9 -m pip install --upgrade pip setuptools wheel +python3.9 -m pip install scikit-build toml cmake ninja build_wheel $REPO_DIR $PLAT From 336520c8416439b91613745986a10500a24c7da8 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Wed, 22 Oct 2025 11:58:26 +0300 Subject: [PATCH 12/29] Update build.sh --- scripts/build.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/scripts/build.sh b/scripts/build.sh index 08f6d919..e5c83d83 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -15,7 +15,4 @@ echo $ENABLE_CONTRIB > contrib.enabled echo $ENABLE_HEADLESS > headless.enabled echo $ENABLE_ROLLING > rolling.enabled set -x -python3.9 -m ensurepip --upgrade || true -python3.9 -m pip install --upgrade pip setuptools wheel -python3.9 -m pip install scikit-build toml cmake ninja build_wheel $REPO_DIR $PLAT From 8a7531fb0d491853dd85a6158e5c68ec728a9a9c Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Wed, 22 Oct 2025 12:23:27 +0300 Subject: [PATCH 13/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 90311da2..4744b278 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -66,6 +66,12 @@ jobs: with: submodules: false fetch-depth: 0 + + - name: Setup Python for aarch64 + if: matrix.platform == 'aarch64' + run: | + /opt/python/cp39-cp39/bin/python -m pip install --upgrade pip setuptools wheel + /opt/python/cp39-cp39/bin/python -m pip install scikit-build toml cmake ninja - name: Build a package run: source scripts/build.sh - name: Saving a wheel accordingly to matrix From f10956e7635f3c62272e283b1a49767ae2a7d552 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Wed, 22 Oct 2025 12:26:05 +0300 Subject: [PATCH 14/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 4744b278..d245a0b4 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -70,8 +70,8 @@ jobs: - name: Setup Python for aarch64 if: matrix.platform == 'aarch64' run: | - /opt/python/cp39-cp39/bin/python -m pip install --upgrade pip setuptools wheel - /opt/python/cp39-cp39/bin/python -m pip install scikit-build toml cmake ninja + /usr/local/bin/python3.9 -m pip install --upgrade pip setuptools wheel + /usr/local/bin/python3.9 -m pip install scikit-build toml cmake ninja - name: Build a package run: source scripts/build.sh - name: Saving a wheel accordingly to matrix From 503b687512ee34764ce49a4c1db3eac03805c103 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Wed, 22 Oct 2025 12:30:23 +0300 Subject: [PATCH 15/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index d245a0b4..e2855034 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -67,11 +67,6 @@ jobs: submodules: false fetch-depth: 0 - - name: Setup Python for aarch64 - if: matrix.platform == 'aarch64' - run: | - /usr/local/bin/python3.9 -m pip install --upgrade pip setuptools wheel - /usr/local/bin/python3.9 -m pip install scikit-build toml cmake ninja - name: Build a package run: source scripts/build.sh - name: Saving a wheel accordingly to matrix From 004547ef3272387faadb18cf9f1367f6e4294615 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Sun, 26 Oct 2025 15:55:55 +0200 Subject: [PATCH 16/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index e2855034..4999e829 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -26,7 +26,7 @@ jobs: fail-fast: false matrix: python-version: ['3.9'] - platform: [x64, aarch64] + platform: [x86_64, aarch64] manylinux: [2014, 2_28] with_contrib: [0, 1] without_gui: [0, 1] @@ -44,10 +44,10 @@ jobs: MB_ML_VER: ${{ matrix.manylinux }} TRAVIS_BUILD_DIR: ${{ github.workspace }} CONFIG_PATH: travis_config.sh - DOCKER_IMAGE: ${{ matrix.manylinux == '2014' && (matrix.platform == 'x64' && 'quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630') || '' || (matrix.platform == 'x64' && 'quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20251013') || 'quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20251013' }} + DOCKER_IMAGE: ${{ matrix.manylinux == '2014' && (matrix.platform == 'x86_64' && 'quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20250630') || '' || (matrix.platform == 'x86_64' && 'quay.io/opencv-ci/opencv-python-manylinux_2_28-x86-64:20251013') || 'quay.io/opencv-ci/opencv-python-manylinux_2_28-aarch64:20251013' }} USE_CCACHE: 0 UNICODE_WIDTH: 32 - PLAT: ${{ matrix.platform == 'x64' && 'x86_64' || 'aarch64' }} + PLAT: ${{ matrix.platform == 'x86_64' && 'x86_64' || 'aarch64' }} SDIST: ${{ matrix.build_sdist || 0 }} ENABLE_HEADLESS: ${{ matrix.without_gui }} ENABLE_CONTRIB: ${{ matrix.with_contrib }} From 2c96bb62907391d6d801d9015427231fe6a5b9b9 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Sun, 26 Oct 2025 16:01:36 +0200 Subject: [PATCH 17/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 4999e829..4568bbe9 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -51,6 +51,7 @@ jobs: SDIST: ${{ matrix.build_sdist || 0 }} ENABLE_HEADLESS: ${{ matrix.without_gui }} ENABLE_CONTRIB: ${{ matrix.with_contrib }} + PIP_INDEX_URL: https://pypi.org/simple steps: - name: Cleanup From 616034a27abf15e3a8101197b29b2483622504a8 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Sun, 26 Oct 2025 16:26:40 +0200 Subject: [PATCH 18/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 4568bbe9..4446bd3b 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -51,7 +51,7 @@ jobs: SDIST: ${{ matrix.build_sdist || 0 }} ENABLE_HEADLESS: ${{ matrix.without_gui }} ENABLE_CONTRIB: ${{ matrix.with_contrib }} - PIP_INDEX_URL: https://pypi.org/simple + steps: - name: Cleanup From b59224a50d40b36205ceedea55bd359dc81562f7 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Sun, 26 Oct 2025 16:40:18 +0200 Subject: [PATCH 19/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 4446bd3b..458b17cd 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -67,7 +67,10 @@ jobs: with: submodules: false fetch-depth: 0 - + + - name: Debug pip vars + run: env | grep -i pip + - name: Build a package run: source scripts/build.sh - name: Saving a wheel accordingly to matrix From 8a1f1c08bde6084d0a94d31c06b87d54d1e69eb6 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Sun, 26 Oct 2025 16:44:34 +0200 Subject: [PATCH 20/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 458b17cd..5955cac3 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -68,9 +68,13 @@ jobs: submodules: false fetch-depth: 0 - - name: Debug pip vars - run: env | grep -i pip - + - name: Force official PyPI on runner + run: | + mkdir -p ~/.config/pip + printf "[global]\nindex-url = https://pypi.org/simple\n" > ~/.config/pip/pip.conf + echo "Runner pip.conf now:" + cat ~/.config/pip/pip.conf + - name: Build a package run: source scripts/build.sh - name: Saving a wheel accordingly to matrix From b800cd7b3b5bbc4d79d522428530fab03c9d97f9 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Sun, 26 Oct 2025 16:51:23 +0200 Subject: [PATCH 21/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 5955cac3..4446bd3b 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -67,13 +67,6 @@ jobs: with: submodules: false fetch-depth: 0 - - - name: Force official PyPI on runner - run: | - mkdir -p ~/.config/pip - printf "[global]\nindex-url = https://pypi.org/simple\n" > ~/.config/pip/pip.conf - echo "Runner pip.conf now:" - cat ~/.config/pip/pip.conf - name: Build a package run: source scripts/build.sh From d93d7ae18cd418905701810cd4fc18d647014204 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Sun, 26 Oct 2025 17:06:40 +0200 Subject: [PATCH 22/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 4446bd3b..c957ceff 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -51,8 +51,7 @@ jobs: SDIST: ${{ matrix.build_sdist || 0 }} ENABLE_HEADLESS: ${{ matrix.without_gui }} ENABLE_CONTRIB: ${{ matrix.with_contrib }} - - + steps: - name: Cleanup run: find . -mindepth 1 -delete From f9f06cc6942df6e3e845aedcd3e40c2096390e9d Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Sun, 26 Oct 2025 17:09:34 +0200 Subject: [PATCH 23/29] Update travis_config.sh --- travis_config.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/travis_config.sh b/travis_config.sh index 2e5e1a0e..bbbd1a0b 100644 --- a/travis_config.sh +++ b/travis_config.sh @@ -39,7 +39,7 @@ else CURRENT_ARCH=$(uname -m) if [[ $CURRENT_ARCH == 'aarch64' ]]; then # To avoid network issues with pypi.org on OpenCV CN machines - export PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple + export PIP_INDEX_URL=https://pypi.org/simple echo "Running for linux aarch64" fi fi From ab7b5d704ac67bd679df9b69edb05c580d68e0a8 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Mon, 27 Oct 2025 12:28:12 +0200 Subject: [PATCH 24/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index c957ceff..2f5f0766 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -77,7 +77,7 @@ jobs: Test: needs: [Build] - runs-on: ubuntu-22.04 + runs-on: ${{ matrix.platform == 'aarch64' && 'opencv-cn-lin-arm64' || 'ubuntu-22.04' }} defaults: run: shell: bash @@ -85,7 +85,8 @@ jobs: fail-fast: false matrix: python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] - platform: [x64] + platform: [x86_64, aarch64] + manylinux: [2014, 2_28] with_contrib: [0, 1] without_gui: [0, 1] build_sdist: [0] @@ -95,7 +96,10 @@ jobs: NP_TEST_DEP: numpy==1.19.4 NP_TEST_DEP_LATEST: numpy==2.2.6 CONFIG_PATH: travis_config.sh - PLAT: x86_64 + PLAT: ${{ matrix.platform == 'x86_64' && 'x86_64' || 'aarch64' }} + SDIST: ${{ matrix.build_sdist || 0 }} + ENABLE_HEADLESS: ${{ matrix.without_gui }} + ENABLE_CONTRIB: ${{ matrix.with_contrib }} steps: - name: Cleanup run: find . -mindepth 1 -delete @@ -105,6 +109,7 @@ jobs: with: submodules: true fetch-depth: 0 + - name: Setup Environment variables 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 - name: Download a wheel accordingly to matrix From 0b3fd547f4369a942f3cfe47eabf3508e3678727 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Mon, 3 Nov 2025 21:13:10 +0200 Subject: [PATCH 25/29] Update build_wheels_linux.yml From bbf5af0409ba4cb0e33081d21de8468fabc907e5 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Mon, 3 Nov 2025 22:02:54 +0200 Subject: [PATCH 26/29] Update install.sh --- scripts/install.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/install.sh b/scripts/install.sh index f20080ae..d0f049e6 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -14,6 +14,10 @@ source multibuild/travis_steps.sh echo $ENABLE_CONTRIB > contrib.enabled echo $ENABLE_HEADLESS > headless.enabled echo $ENABLE_ROLLING > rolling.enabled +if [[ "$PLAT" == "aarch64" ]]; then + export MULTIBUILD_DOCKER_IMAGE="multibuild/focal_arm64v8" + echo "Using local Docker image: $MULTIBUILD_DOCKER_IMAGE" +fi set -x install_run $PLAT set +x From fd4587eb8b5da754a08e4587f33fb982407c0ca9 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Wed, 5 Nov 2025 10:49:21 +0200 Subject: [PATCH 27/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 2f5f0766..41ba7189 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -90,6 +90,9 @@ jobs: with_contrib: [0, 1] without_gui: [0, 1] build_sdist: [0] + exclude: + - platform: aarch64 + manylinux: 2014 env: ACTIONS_ALLOW_UNSECURE_COMMANDS: true MB_PYTHON_VERSION: ${{ matrix.python-version }} From 1562be6d04f8c89c774f1063b444c6cc3d961c08 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Wed, 5 Nov 2025 10:53:12 +0200 Subject: [PATCH 28/29] Update install.sh --- scripts/install.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/install.sh b/scripts/install.sh index d0f049e6..f20080ae 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -14,10 +14,6 @@ source multibuild/travis_steps.sh echo $ENABLE_CONTRIB > contrib.enabled echo $ENABLE_HEADLESS > headless.enabled echo $ENABLE_ROLLING > rolling.enabled -if [[ "$PLAT" == "aarch64" ]]; then - export MULTIBUILD_DOCKER_IMAGE="multibuild/focal_arm64v8" - echo "Using local Docker image: $MULTIBUILD_DOCKER_IMAGE" -fi set -x install_run $PLAT set +x From 94a9a24041d1ff93dcb589c17ffeedd249494d21 Mon Sep 17 00:00:00 2001 From: Ivan Avdeev Date: Wed, 5 Nov 2025 23:24:06 +0200 Subject: [PATCH 29/29] Update build_wheels_linux.yml --- .github/workflows/build_wheels_linux.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml index 41ba7189..d63bd88e 100644 --- a/.github/workflows/build_wheels_linux.yml +++ b/.github/workflows/build_wheels_linux.yml @@ -93,6 +93,7 @@ jobs: exclude: - platform: aarch64 manylinux: 2014 + env: ACTIONS_ALLOW_UNSECURE_COMMANDS: true MB_PYTHON_VERSION: ${{ matrix.python-version }}