From 83576fa78803b212001f3cc5346524e3cefb8651 Mon Sep 17 00:00:00 2001
From: Arpit Jain <arpitjain799@gmail.com>
Date: Wed, 26 Apr 2023 03:04:19 +0900
Subject: [PATCH 1/6] Added CodeQL code

---
 .github/workflows/codeql.yml | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 .github/workflows/codeql.yml

diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
new file mode 100644
index 00000000..46be44e9
--- /dev/null
+++ b/.github/workflows/codeql.yml
@@ -0,0 +1,30 @@
+jobs:
+  analyze:
+    name: Analyze
+    permissions:
+      actions: read
+      contents: read
+      security-events: write
+    runs-on: ubuntu-latest
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@v3
+    - name: Initialize CodeQL
+      uses: github/codeql-action/init@v2
+      with:
+        languages: ${{ matrix.language }}
+        queries: security-and-quality
+    - name: Autobuild
+      uses: github/codeql-action/autobuild@v2
+    - name: Perform CodeQL Analysis
+      uses: github/codeql-action/analyze@v2
+    strategy:
+      fail-fast: false
+      matrix:
+        language:
+        - python
+name: CodeQL
+'on':
+  push:
+    branches:
+    - 4.x

From b5b49cce596c1edcdba403b3d7fc378afd328641 Mon Sep 17 00:00:00 2001
From: Arpit Jain <arpitjain099@gmail.com>
Date: Wed, 26 Apr 2023 16:00:02 +0900
Subject: [PATCH 2/6] Added CodeQL code

---
 .github/workflows/build_wheels_linux.yml     | 261 -------------------
 .github/workflows/build_wheels_linux_arm.yml | 196 --------------
 .github/workflows/build_wheels_macos.yml     | 234 -----------------
 .github/workflows/build_wheels_macos_m1.yml  | 192 --------------
 .github/workflows/build_wheels_windows.yml   | 216 ---------------
 5 files changed, 1099 deletions(-)
 delete mode 100644 .github/workflows/build_wheels_linux.yml
 delete mode 100644 .github/workflows/build_wheels_linux_arm.yml
 delete mode 100644 .github/workflows/build_wheels_macos.yml
 delete mode 100644 .github/workflows/build_wheels_macos_m1.yml
 delete mode 100644 .github/workflows/build_wheels_windows.yml

diff --git a/.github/workflows/build_wheels_linux.yml b/.github/workflows/build_wheels_linux.yml
deleted file mode 100644
index 6fa602fb..00000000
--- a/.github/workflows/build_wheels_linux.yml
+++ /dev/null
@@ -1,261 +0,0 @@
-name: Linux x86_64
-
-on:
-  pull_request:
-    branches:
-      - master
-      - 3.4
-      - 4.x
-      - 5.x
-    paths-ignore:
-      - '.github/workflows/build_wheels_linux_arm.yml'
-      - '.github/workflows/build_wheels_windows*'
-      - '.github/workflows/build_wheels_macos*'
-  release:
-    types: [published, edited]
-  schedule:
-    - cron: '0 3 * * 6'
-  workflow_dispatch:
-
-
-jobs:
-  Build:
-    runs-on: ubuntu-20.04
-    defaults:
-      run:
-        shell: bash
-    strategy:
-      fail-fast: false
-      matrix:
-        python-version: ['3.7']
-        platform: [x64]
-        with_contrib: [0, 1]
-        without_gui: [0, 1]
-        build_sdist: [0]
-    env:
-      ACTIONS_ALLOW_UNSECURE_COMMANDS: true
-      REPO_DIR: .
-      PROJECT_SPEC: opencv-python
-      MB_PYTHON_VERSION: ${{ matrix.python-version }}
-      TRAVIS_PYTHON_VERSION: ${{ matrix.python-version }}
-      MB_ML_VER: 2014
-      TRAVIS_BUILD_DIR: ${{ github.workspace }}
-      CONFIG_PATH: travis_config.sh
-      DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20230117
-      USE_CCACHE: 0
-      UNICODE_WIDTH: 32
-      PLAT: x86_64
-      SDIST: ${{ matrix.build_sdist || 0 }}
-      ENABLE_HEADLESS: ${{ matrix.without_gui }}
-      ENABLE_CONTRIB: ${{ matrix.with_contrib }}
-    steps:
-    - name: Cleanup
-      run: find . -mindepth 1 -delete
-      working-directory: ${{ github.workspace }}
-    - name: Setup environment
-      run: |
-        if [[ "${{ github.event_name }}" == "schedule" || "${{ github.event_name }}" == "workflow_dispatch" ]]; then
-          echo "ENABLE_ROLLING=1" >> $GITHUB_ENV
-        fi
-    - name: Checkout
-      uses: actions/checkout@v3
-      with:
-        submodules: false
-        fetch-depth: 0
-    - name: Build a package
-      run: source scripts/build.sh
-    - name: Saving all wheels
-      uses: actions/upload-artifact@v3
-      with:
-        name: wheels
-        path: wheelhouse/opencv*.whl
-    - name: Saving a wheel accordingly to matrix
-      uses: actions/upload-artifact@v3
-      with:
-        name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
-        path: wheelhouse/opencv*.whl
-
-  Test:
-    needs: [Build]
-    runs-on: ubuntu-20.04
-    defaults:
-      run:
-        shell: bash
-    strategy:
-      fail-fast: false
-      matrix:
-        python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
-        platform: [x64]
-        with_contrib: [0, 1]
-        without_gui: [0, 1]
-        build_sdist: [0]
-    env:
-      ACTIONS_ALLOW_UNSECURE_COMMANDS: true
-      MB_PYTHON_VERSION: ${{ matrix.python-version }}
-      NP_TEST_DEP: numpy==1.19.4
-      NP_TEST_DEP_LATEST: numpy==1.24.0
-      CONFIG_PATH: travis_config.sh
-      PLAT: x86_64
-    steps:
-    - name: Cleanup
-      run: find . -mindepth 1 -delete
-      working-directory: ${{ github.workspace }}
-    - name: Checkout
-      uses: actions/checkout@v3
-      with:
-        submodules: true
-        fetch-depth: 0
-    - name: Setup Environment variables
-      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
-    - name: Download a wheel accordingly to matrix
-      uses: actions/download-artifact@v3
-      with:
-        name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
-        path: wheelhouse/
-    - name: Package installation and run tests
-      run: source scripts/install.sh
-
-  Build_sdist:
-    runs-on: ubuntu-20.04
-    defaults:
-      run:
-        shell: bash
-    strategy:
-      fail-fast: false
-      matrix:
-        python-version: [3.8]
-        platform: [x64]
-        with_contrib: [0, 1]
-        without_gui: [0, 1]
-        build_sdist: [1]
-    env:
-      ACTIONS_ALLOW_UNSECURE_COMMANDS: true
-      REPO_DIR: .
-      PROJECT_SPEC: opencv-python
-      PLAT: x86_64
-      MB_PYTHON_VERSION: ${{ matrix.python-version }}
-      TRAVIS_PYTHON_VERSION: ${{ matrix.python-version }}
-      MB_ML_VER: 2014
-      NP_TEST_DEP: numpy==1.19.4
-      TRAVIS_BUILD_DIR: ${{ github.workspace }}
-      CONFIG_PATH: travis_config.sh
-      DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20230117
-      USE_CCACHE: 1
-      UNICODE_WIDTH: 32
-      SDIST: ${{ matrix.build_sdist || 0 }}
-      ENABLE_HEADLESS: ${{ matrix.without_gui || 0 }}
-      ENABLE_CONTRIB: ${{ matrix.with_contrib || 0 }}
-    steps:
-    - name: Cleanup
-      run: find . -mindepth 1 -delete
-      working-directory: ${{ github.workspace }}
-    - name: Setup environment
-      run: |
-        if [[ "${{ github.event_name }}" == "schedule" || "${{ github.event_name }}" == "workflow_dispatch" ]]; then
-          echo "ENABLE_ROLLING=1" >> $GITHUB_ENV
-        fi
-    - name: Checkout
-      uses: actions/checkout@v3
-      with:
-        submodules: false
-        fetch-depth: 0
-    - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v4
-      with:
-        python-version: ${{ matrix.python-version }}
-        architecture: ${{ matrix.platform }}
-    - name: Build a package
-      run: |
-        set -e
-        # Build and package
-        set -x
-          python -m pip install --upgrade pip
-          python -m pip install scikit-build
-          python setup.py sdist --formats=gztar
-        set +x
-        # Install and run tests
-        set -x
-        echo "skipping tests because of sdist"
-    - name: saving artifacts
-      uses: actions/upload-artifact@v3
-      with:
-        name: wheels
-        path: dist/opencv*.tar.gz
-
-  Release_rolling:
-    if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
-    needs: [Build, Test]
-    runs-on: ubuntu-20.04
-    environment: opencv-python-rolling-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload wheels for opencv_python_rolling
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_PYTHON_ROLLING_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_ROLLING_PASSWORD }} --skip-existing wheelhouse/opencv_python_rolling-*
-      - name: Upload wheels for opencv_contrib_python_rolling
-        run: |
-          python -m pip install twine
-          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-*
-      - name: Upload wheels for opencv_python_headless_rolling
-        run: |
-          python -m pip install twine
-          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-*
-      - name: Upload wheels for opencv_contrib_python_headless_rolling
-        run: |
-          python -m pip install twine
-          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-*
-
-  Pre-release:
-    if: github.event_name == 'release' && github.event.release.prerelease
-    needs: [Build, Build_sdist, Test]
-    runs-on: ubuntu-20.04
-    environment: test-opencv-python-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload all wheels
-        run: |
-          python -m pip install twine
-          python -m twine upload --repository testpypi -u ${{ secrets.PYPI_USERNAME }} -p ${{ secrets.PYPI_PASSWORD }} --skip-existing wheelhouse/opencv_* wheelhouse/opencv-*
-
-  Release:
-    if: github.event_name == 'release' && !github.event.release.prerelease
-    needs: [Build, Build_sdist, Test]
-    runs-on: ubuntu-20.04
-    environment: opencv-python-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload wheels for opencv_python
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_python-* wheelhouse/opencv-python-[^h]*
-      - name: Upload wheels for opencv_contrib_python
-        run: |
-          python -m pip install twine
-          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]*
-      - name: Upload wheels for opencv_python_headless
-        run: |
-          python -m pip install twine
-          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-*
-      - name: Upload wheels for opencv_contrib_python_headless
-        run: |
-          python -m pip install twine
-          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-*
diff --git a/.github/workflows/build_wheels_linux_arm.yml b/.github/workflows/build_wheels_linux_arm.yml
deleted file mode 100644
index ea5e2bb8..00000000
--- a/.github/workflows/build_wheels_linux_arm.yml
+++ /dev/null
@@ -1,196 +0,0 @@
-name: Linux ARM64
-
-on:
-  pull_request:
-    branches:
-      - master
-      - 3.4
-      - 4.x
-      - 5.x
-    paths-ignore:
-      - '.github/workflows/build_wheels_linux.yml'
-      - '.github/workflows/build_wheels_windows*'
-      - '.github/workflows/build_wheels_macos*'
-  release:
-    types: [published, edited]
-  schedule:
-    - cron: '0 3 * * 6'
-  workflow_dispatch:
-
-
-jobs:
-  Build:
-    runs-on: opencv-cn-lin-arm64
-    defaults:
-      run:
-        shell: bash
-    strategy:
-      fail-fast: false
-      matrix:
-        python-version: ['3.7']
-        platform: [x64]
-        with_contrib: [0, 1]
-        without_gui: [0, 1]
-        build_sdist: [0]
-    env:
-      ACTIONS_ALLOW_UNSECURE_COMMANDS: true
-      REPO_DIR: .
-      PROJECT_SPEC: opencv-python
-      MB_PYTHON_VERSION: ${{ matrix.python-version }}
-      TRAVIS_PYTHON_VERSION: ${{ matrix.python-version }}
-      PLAT: aarch64
-      MB_ML_VER: 2014
-      TRAVIS_BUILD_DIR: ${{ github.workspace }}
-      CONFIG_PATH: travis_config.sh
-      DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-aarch64:20230117
-      USE_CCACHE: 0
-      UNICODE_WIDTH: 32
-      SDIST: ${{ matrix.build_sdist || 0 }}
-      ENABLE_HEADLESS: ${{ matrix.without_gui }}
-      ENABLE_CONTRIB: ${{ matrix.with_contrib }}
-    steps:
-    - name: Cleanup
-      run: find . -mindepth 1 -delete
-      working-directory: ${{ github.workspace }}
-    - name: Setup environment
-      run: |
-        if [[ "${{ github.event_name }}" == "schedule" || "${{ github.event_name }}" == "workflow_dispatch" ]]; then
-          echo "ENABLE_ROLLING=1" >> $GITHUB_ENV
-        fi
-    - name: Checkout
-      uses: actions/checkout@v3
-      with:
-        submodules: false
-        fetch-depth: 0
-    - name: Build a package
-      run: source scripts/build.sh
-    - name: Saving all wheels
-      uses: actions/upload-artifact@v3
-      with:
-        name: wheels
-        path: wheelhouse/opencv*.whl
-    - name: Saving a wheel accordingly to matrix
-      uses: actions/upload-artifact@v3
-      with:
-        name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
-        path: wheelhouse/opencv*.whl
-
-  Test:
-    needs: [Build]
-    runs-on: opencv-cn-lin-arm64
-    defaults:
-      run:
-        shell: bash
-    strategy:
-      fail-fast: false
-      matrix:
-        python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
-        platform: [x64]
-        with_contrib: [0, 1]
-        without_gui: [0, 1]
-        build_sdist: [0]
-    env:
-      ACTIONS_ALLOW_UNSECURE_COMMANDS: true
-      MB_PYTHON_VERSION: ${{ matrix.python-version }}
-      PLAT: aarch64
-      NP_TEST_DEP: numpy==1.19.4
-      NP_TEST_DEP_LATEST: numpy==1.24.0
-      CONFIG_PATH: travis_config.sh
-      DOCKER_TEST_IMAGE: multibuild/focal_arm64v8
-      UNICODE_WIDTH: 32
-    steps:
-    - name: Cleanup
-      run: find . -mindepth 1 -delete
-      working-directory: ${{ github.workspace }}
-    - name: Checkout
-      uses: actions/checkout@v3
-      with:
-        submodules: true
-        fetch-depth: 0
-    - name: Setup Environment variables
-      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
-    - name: Download a wheel accordingly to matrix
-      uses: actions/download-artifact@v3
-      with:
-        name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
-        path: wheelhouse/
-    - name: Package installation and run tests
-      run: source scripts/install.sh
-
-  Release_rolling:
-    if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
-    needs: [Build, Test]
-    runs-on: ubuntu-20.04
-    environment: opencv-python-rolling-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload wheels for opencv_python_rolling
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_PYTHON_ROLLING_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_ROLLING_PASSWORD }} --skip-existing wheelhouse/opencv_python_rolling-*
-      - name: Upload wheels for opencv_contrib_python_rolling
-        run: |
-          python -m pip install twine
-          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-*
-      - name: Upload wheels for opencv_python_headless_rolling
-        run: |
-          python -m pip install twine
-          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-*
-      - name: Upload wheels for opencv_contrib_python_headless_rolling
-        run: |
-          python -m pip install twine
-          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-*
-
-  Pre-release:
-    if: github.event_name == 'release' && github.event.release.prerelease
-    needs: [Build, Test]
-    runs-on: ubuntu-20.04
-    environment: test-opencv-python-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload all wheels
-        run: |
-          python -m pip install twine
-          python -m twine upload --repository testpypi -u ${{ secrets.PYPI_USERNAME }} -p ${{ secrets.PYPI_PASSWORD }} --skip-existing wheelhouse/opencv_*
-
-  Release:
-    if: github.event_name == 'release' && !github.event.release.prerelease
-    needs: [Build, Test]
-    runs-on: ubuntu-20.04
-    environment: opencv-python-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload wheels for opencv_python
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_python-*
-      - name: Upload wheels for opencv_contrib_python
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_contrib_python-*
-      - name: Upload wheels for opencv_python_headless
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_PYTHON_HEADLESS_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_HEADLESS_PASSWORD }} --skip-existing wheelhouse/opencv_python_headless-*
-      - name: Upload wheels for opencv_contrib_python_headless
-        run: |
-          python -m pip install twine
-          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-*
diff --git a/.github/workflows/build_wheels_macos.yml b/.github/workflows/build_wheels_macos.yml
deleted file mode 100644
index 1defd1e5..00000000
--- a/.github/workflows/build_wheels_macos.yml
+++ /dev/null
@@ -1,234 +0,0 @@
-name: macOS x86_64
-
-on:
-  pull_request:
-    branches:
-      - master
-      - 3.4
-      - 4.x
-      - 5.x
-    paths-ignore:
-      - '.github/workflows/build_wheels_linux*'
-      - '.github/workflows/build_wheels_windows*'
-      - '.github/workflows/build_wheels_macos_m1.yml'
-  release:
-    types: [published, edited]
-  schedule:
-    - cron: '0 3 * * 6'
-  workflow_dispatch:
-
-
-jobs:
-  Build:
-    runs-on: macos-11
-    defaults:
-      run:
-        shell: bash
-    strategy:
-      fail-fast: false
-      matrix:
-        python-version: ['3.7']
-        platform: [x64]
-        with_contrib: [0, 1]
-        without_gui: [0, 1]
-        build_sdist: [0]
-    env:
-      ACTIONS_ALLOW_UNSECURE_COMMANDS: true
-      REPO_DIR: .
-      PROJECT_SPEC: opencv-python
-      MB_PYTHON_VERSION: ${{ matrix.python-version }}
-      TRAVIS_PYTHON_VERSION: ${{ matrix.python-version }}
-      MB_ML_VER: 2014
-      TRAVIS_BUILD_DIR: ${{ github.workspace }}
-      TRAVIS_OS_NAME: osx
-      CONFIG_PATH: travis_config.sh
-      USE_CCACHE: 1
-      UNICODE_WIDTH: 32
-      PLAT: x86_64
-      SDIST: ${{ matrix.build_sdist || 0 }}
-      ENABLE_HEADLESS: ${{ matrix.without_gui }}
-      ENABLE_CONTRIB: ${{ matrix.with_contrib }}
-    steps:
-    - name: Cleanup
-      run: find . -mindepth 1 -delete
-      working-directory: ${{ github.workspace }}
-    - name: Setup environment
-      run: |
-        if [[ "${{ github.event_name }}" == "schedule" || "${{ github.event_name }}" == "workflow_dispatch" ]]; then
-          echo "ENABLE_ROLLING=1" >> $GITHUB_ENV
-        fi
-        # hack for image issue on mac: https://github.com/actions/runner-images/issues/6817
-        rm /usr/local/bin/2to3*
-        rm /usr/local/bin/idle3*
-        rm /usr/local/bin/pydoc3*
-        rm /usr/local/bin/python3*
-        # end hack
-    - name: Checkout
-      uses: actions/checkout@v3
-      with:
-        submodules: false
-        fetch-depth: 0
-    - name: Build a package
-      run: |
-        set -e
-        # Check out and prepare the source
-        # Multibuild doesn't have releases, so --depth would break eventually (see
-        # https://superuser.com/questions/1240216/server-does-not-allow-request-for-unadvertised)
-        git submodule update --init multibuild
-        source multibuild/common_utils.sh
-        # https://github.com/matthew-brett/multibuild/issues/116
-        if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export ARCH_FLAGS=" "; fi
-        source multibuild/travis_steps.sh
-        # This sets -x
-        # source travis_multibuild_customize.sh
-        echo $ENABLE_CONTRIB > contrib.enabled
-        echo $ENABLE_HEADLESS > headless.enabled
-        set -x
-        build_wheel $REPO_DIR $PLAT
-    - name: Saving all wheels
-      uses: actions/upload-artifact@v3
-      with:
-        name: wheels
-        path: wheelhouse/opencv*.whl
-    - name: Saving a wheel accordingly to matrix
-      uses: actions/upload-artifact@v3
-      with:
-        name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
-        path: wheelhouse/opencv*.whl
-
-  Test:
-    needs: [Build]
-    runs-on: macos-11
-    defaults:
-      run:
-        shell: bash
-    strategy:
-      fail-fast: false
-      matrix:
-        python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
-        platform: [x64]
-        with_contrib: [0, 1]
-        without_gui: [0, 1]
-        build_sdist: [0]
-    env:
-      ACTIONS_ALLOW_UNSECURE_COMMANDS: true
-      MB_PYTHON_VERSION: ${{ matrix.python-version }}
-      NP_TEST_DEP: numpy==1.19.4
-      NP_TEST_DEP_LATEST: numpy==1.24.0
-      CONFIG_PATH: travis_config.sh
-      PLAT: x86_64
-      OPENCV_TEST_DATA_PATH: ${{ github.workspace }}/opencv_extra/testdata
-      PYLINT_TEST_FILE: ${{ github.workspace }}/opencv/samples/python/squares.py
-    steps:
-    - name: Cleanup
-      run: find . -mindepth 1 -delete
-      working-directory: ${{ github.workspace }}
-    - name: Checkout
-      uses: actions/checkout@v3
-      with:
-        submodules: true
-        fetch-depth: 0
-    - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v4
-      with:
-        python-version: ${{ matrix.python-version }}
-        architecture: ${{ matrix.platform }}
-    - name: Setup Environment variables
-      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
-    - name: Download a wheel accordingly to matrix
-      uses: actions/download-artifact@v3
-      with:
-        name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
-        path: wheelhouse/
-    - name: Package installation
-      run: |
-        python -m pip install wheelhouse/opencv*.whl
-        cd ${{ github.workspace }}/tests
-        python get_build_info.py
-    - name: Run tests
-      run: |
-        cd ${{ github.workspace }}/opencv
-        python modules/python/test/test.py -v --repo .
-    - name: Pylint test
-      run: |
-        python -m pip install pylint==2.15.9
-        cd ${{ github.workspace }}/tests
-        python -m pylint $PYLINT_TEST_FILE
-
-  Release_rolling:
-    if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
-    needs: [Build, Test]
-    runs-on: ubuntu-20.04
-    environment: opencv-python-rolling-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload wheels for opencv_python_rolling
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_PYTHON_ROLLING_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_ROLLING_PASSWORD }} --skip-existing wheelhouse/opencv_python_rolling-*
-      - name: Upload wheels for opencv_contrib_python_rolling
-        run: |
-          python -m pip install twine
-          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-*
-      - name: Upload wheels for opencv_python_headless_rolling
-        run: |
-          python -m pip install twine
-          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-*
-      - name: Upload wheels for opencv_contrib_python_headless_rolling
-        run: |
-          python -m pip install twine
-          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-*
-
-  Pre-release:
-    if: github.event_name == 'release' && github.event.release.prerelease
-    needs: [Build, Test]
-    runs-on: ubuntu-20.04
-    environment: test-opencv-python-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload all wheels
-        run: |
-          python -m pip install twine
-          python -m twine upload --repository testpypi -u ${{ secrets.PYPI_USERNAME }} -p ${{ secrets.PYPI_PASSWORD }} --skip-existing wheelhouse/opencv_*
-
-  Release:
-    if: github.event_name == 'release' && !github.event.release.prerelease
-    needs: [Build, Test]
-    runs-on: ubuntu-20.04
-    environment: opencv-python-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload wheels for opencv_python
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_python-*
-      - name: Upload wheels for opencv_contrib_python
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_contrib_python-*
-      - name: Upload wheels for opencv_python_headless
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_PYTHON_HEADLESS_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_HEADLESS_PASSWORD }} --skip-existing wheelhouse/opencv_python_headless-*
-      - name: Upload wheels for opencv_contrib_python_headless
-        run: |
-          python -m pip install twine
-          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-*
diff --git a/.github/workflows/build_wheels_macos_m1.yml b/.github/workflows/build_wheels_macos_m1.yml
deleted file mode 100644
index 2aed7d4b..00000000
--- a/.github/workflows/build_wheels_macos_m1.yml
+++ /dev/null
@@ -1,192 +0,0 @@
-name: macOS ARM64
-
-on:
-  pull_request:
-    branches:
-      - master
-      - 3.4
-      - 4.x
-      - 5.x
-    paths-ignore:
-      - '.github/workflows/build_wheels_linux*'
-      - '.github/workflows/build_wheels_windows*'
-      - '.github/workflows/build_wheels_macos.yml'
-  release:
-    types: [published, edited]
-  schedule:
-    - cron: '0 3 * * 6'
-  workflow_dispatch:
-
-
-jobs:
-  Build:
-    runs-on: python-macos11-m1
-    strategy:
-      fail-fast: false
-      matrix:
-        python-version: ['3.7']
-        platform: [x64]
-        with_contrib: [0, 1]
-        without_gui: [0, 1]
-        build_sdist: [0]
-    env:
-      CI_BUILD: 1
-      SDIST: ${{ matrix.build_sdist || 0 }}
-      ENABLE_HEADLESS: ${{ matrix.without_gui }}
-      ENABLE_CONTRIB: ${{ matrix.with_contrib }}
-      PIP_INDEX_URL: https://pypi.tuna.tsinghua.edu.cn/simple
-    steps:
-    - name: Cleanup
-      run: find . -mindepth 1 -delete
-      working-directory: ${{ github.workspace }}
-    - name: Setup environment
-      run: |
-        if [[ "${{ github.event_name }}" == "schedule" || "${{ github.event_name }}" == "workflow_dispatch" ]]; then
-          echo "ENABLE_ROLLING=1" >> $GITHUB_ENV
-        fi
-    - name: Checkout
-      uses: actions/checkout@v3
-      with:
-        submodules: false
-        fetch-depth: 0
-    - name: Build a package
-      run: |
-        git submodule update --init multibuild
-        echo $ENABLE_CONTRIB > contrib.enabled
-        echo $ENABLE_HEADLESS > headless.enabled
-        export MACOSX_DEPLOYMENT_TARGET=11.0
-        arch -arm64 python${{ matrix.python-version }} -m pip install toml && python${{ matrix.python-version }} -c 'import toml; c = toml.load("pyproject.toml"); print("\n".join(c["build-system"]["requires"]))' | python${{ matrix.python-version }} -m pip install -r /dev/stdin
-        arch -arm64 python${{ matrix.python-version }} setup.py bdist_wheel --py-limited-api=cp37 --dist-dir=wheelhouse -v
-        delocate-wheel ${{ github.workspace }}/wheelhouse/opencv*
-    - name: Saving all wheels
-      uses: actions/upload-artifact@v3
-      with:
-        name: wheels
-        path: wheelhouse/opencv*.whl
-    - name: Saving a wheel accordingly to matrix
-      uses: actions/upload-artifact@v3
-      with:
-        name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
-        path: wheelhouse/opencv*.whl
-
-  Test:
-    needs: [Build]
-    runs-on: opencv-cn-mac-arm64-tests
-    strategy:
-      fail-fast: false
-      matrix:
-        python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
-        platform: [x64]
-        with_contrib: [0, 1]
-        without_gui: [0, 1]
-        build_sdist: [0]
-    env:
-      OPENCV_TEST_DATA_PATH: ${{ github.workspace }}/opencv_extra/testdata
-      PYLINT_TEST_FILE: ${{ github.workspace }}/opencv/samples/python/squares.py
-      PIP_INDEX_URL: https://pypi.tuna.tsinghua.edu.cn/simple
-    steps:
-    - name: Cleanup
-      run: find . -mindepth 1 -delete
-      working-directory: ${{ github.workspace }}
-    - name: Checkout
-      uses: actions/checkout@v3
-      with:
-        submodules: true
-        fetch-depth: 0
-    - name: Download a wheel accordingly to matrix
-      uses: actions/download-artifact@v3
-      with:
-        name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
-        path: wheelhouse/
-    - name: Package installation
-      run: |
-        arch -arm64 python${{ matrix.python-version }} -m pip install --user --no-cache --force-reinstall wheelhouse/opencv*.whl
-        cd ${{ github.workspace }}/tests
-        arch -arm64 python${{ matrix.python-version }} get_build_info.py
-    - name: Run tests
-      run: |
-        cd ${{ github.workspace }}/opencv
-        arch -arm64 python${{ matrix.python-version }} modules/python/test/test.py -v --repo .
-    - name: Pylint test
-      run: |
-        arch -arm64 python${{ matrix.python-version }} -m pip install pylint==2.15.9
-        cd ${{ github.workspace }}/tests
-        arch -arm64 python${{ matrix.python-version }} -m pylint $PYLINT_TEST_FILE
-
-  Release_rolling:
-    if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
-    needs: [Build, Test]
-    runs-on: ubuntu-20.04
-    environment: opencv-python-rolling-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload wheels for opencv_python_rolling
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_PYTHON_ROLLING_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_ROLLING_PASSWORD }} --skip-existing wheelhouse/opencv_python_rolling-*
-      - name: Upload wheels for opencv_contrib_python_rolling
-        run: |
-          python -m pip install twine
-          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-*
-      - name: Upload wheels for opencv_python_headless_rolling
-        run: |
-          python -m pip install twine
-          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-*
-      - name: Upload wheels for opencv_contrib_python_headless_rolling
-        run: |
-          python -m pip install twine
-          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-*
-
-  Pre-release:
-    if: github.event_name == 'release' && github.event.release.prerelease
-    needs: [Build, Test]
-    runs-on: ubuntu-20.04
-    environment: test-opencv-python-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload all wheels
-        run: |
-          python -m pip install twine
-          python -m twine upload --repository testpypi -u ${{ secrets.PYPI_USERNAME }} -p ${{ secrets.PYPI_PASSWORD }} --skip-existing wheelhouse/opencv_*
-
-  Release:
-    if: github.event_name == 'release' && !github.event.release.prerelease
-    needs: [Build, Test]
-    runs-on: ubuntu-20.04
-    environment: opencv-python-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload wheels for opencv_python
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_python-*
-      - name: Upload wheels for opencv_contrib_python
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_contrib_python-*
-      - name: Upload wheels for opencv_python_headless
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_PYTHON_HEADLESS_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_HEADLESS_PASSWORD }} --skip-existing wheelhouse/opencv_python_headless-*
-      - name: Upload wheels for opencv_contrib_python_headless
-        run: |
-          python -m pip install twine
-          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-*
diff --git a/.github/workflows/build_wheels_windows.yml b/.github/workflows/build_wheels_windows.yml
deleted file mode 100644
index b1a98d26..00000000
--- a/.github/workflows/build_wheels_windows.yml
+++ /dev/null
@@ -1,216 +0,0 @@
-name: Windows x86_64
-
-on:
-  pull_request:
-    branches:
-      - master
-      - 3.4
-      - 4.x
-      - 5.x
-    paths-ignore:
-      - '.github/workflows/build_wheels_linux*'
-      - '.github/workflows/build_wheels_macos*'
-  release:
-    types: [published, edited]
-  schedule:
-    - cron: '0 3 * * 6'
-  workflow_dispatch:
-
-
-jobs:
-  Build:
-    runs-on: windows-2019
-    strategy:
-      fail-fast: false
-      matrix:
-        python-version: ['3.7']
-        platform: [x86, x64]
-        with_contrib: [0, 1]
-        without_gui: [0, 1]
-        build_sdist: [0]
-    env:
-      ACTIONS_ALLOW_UNSECURE_COMMANDS: true
-      SDIST: ${{ matrix.build_sdist || 0 }}
-      ENABLE_HEADLESS: ${{ matrix.without_gui }}
-      ENABLE_CONTRIB: ${{ matrix.with_contrib }}
-      OPENCV_TEST_DATA_PATH: ${{ github.workspace }}\opencv_extra\testdata
-    steps:
-    - name: Cleanup
-      shell: bash
-      run: |
-        rm -rf ./* || true
-        rm -rf ./.??* || true
-      working-directory: ${{ github.workspace }}
-    - name: Setup environment
-      shell: bash
-      run: |
-        if [[ "${{ github.event_name }}" == "schedule" || "${{ github.event_name }}" == "workflow_dispatch" ]]; then
-          echo "ENABLE_ROLLING=1" >> $GITHUB_ENV
-        fi
-    - name: Checkout
-      uses: actions/checkout@v3
-      with:
-        submodules: false
-        fetch-depth: 0
-    - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v4
-      with:
-        python-version: ${{ matrix.python-version }}
-        architecture: ${{ matrix.platform }}
-    - name: Setup MSBuild.exe
-      uses: microsoft/setup-msbuild@v1.1
-    - name: Build a package
-      # CMake 3.25 regression fix. See https://stackoverflow.com/questions/74162633/problem-compiling-from-source-opencv-with-mvsc2019-in-64-bit-version
-      run: |
-        python --version
-        python -m pip install --upgrade pip
-        python -m pip install --upgrade setuptools
-        python -m pip install cmake==3.24.2
-        python -m pip install toml && python -c "import toml; c = toml.load('pyproject.toml'); print('\n'.join(c['build-system']['requires']))" >> requirements.txt | python -m pip install -r requirements.txt
-        set "CI_BUILD=1" && python setup.py bdist_wheel --py-limited-api=cp37 --dist-dir=%cd%\wheelhouse -v
-      shell: cmd
-    - name: Saving all wheels
-      uses: actions/upload-artifact@v3
-      with:
-        name: wheels
-        path: wheelhouse/opencv*.whl
-    - name: Saving a wheel accordingly to matrix
-      uses: actions/upload-artifact@v3
-      with:
-        name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}-${{ matrix.platform }}
-        path: wheelhouse/opencv*
-
-  Test:
-    needs: [Build]
-    runs-on: windows-2019
-    defaults:
-      run:
-        shell: cmd
-    strategy:
-      fail-fast: false
-      matrix:
-        python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
-        platform: [x86, x64]
-        with_contrib: [0, 1]
-        without_gui: [0, 1]
-        build_sdist: [0]
-    env:
-      ACTIONS_ALLOW_UNSECURE_COMMANDS: true
-      OPENCV_TEST_DATA_PATH: ${{ github.workspace }}\opencv_extra\testdata
-      PYLINT_TEST_FILE: ${{ github.workspace }}\opencv\samples\python\squares.py
-    steps:
-    - name: Cleanup
-      shell: bash
-      run: |
-        rm -rf ./* || true
-        rm -rf ./.??* || true
-      working-directory: ${{ github.workspace }}
-    - name: Checkout
-      uses: actions/checkout@v3
-      with:
-        submodules: true
-        fetch-depth: 0
-    - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v4
-      with:
-        python-version: ${{ matrix.python-version }}
-        architecture: ${{ matrix.platform }}
-    - name: Download a wheel accordingly to matrix
-      uses: actions/download-artifact@v3
-      with:
-        name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}-${{ matrix.platform }}
-        path: wheelhouse/
-    - name: Package installation
-      run: |
-        cd ${{ github.workspace }}/tests
-        &python -m pip install --user --no-warn-script-location (ls "../wheelhouse/opencv*.whl")
-        if ($LastExitCode -ne 0) {throw $LastExitCode}
-        python get_build_info.py
-      shell: powershell
-    - name: Run tests
-      run: |
-        cd ${{ github.workspace }}/opencv
-        python modules\python\test\test.py -v --repo .
-    - name: Pylint test
-      run: |
-        python -m pip install pylint==2.15.9
-        cd ${{ github.workspace }}\tests
-        python -m pylint $PYLINT_TEST_FILE
-
-  Release_rolling:
-    if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
-    needs: [Build, Test]
-    runs-on: ubuntu-20.04
-    environment: opencv-python-rolling-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload wheels for opencv_python_rolling
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_PYTHON_ROLLING_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_ROLLING_PASSWORD }} --skip-existing wheelhouse/opencv_python_rolling-*
-      - name: Upload wheels for opencv_contrib_python_rolling
-        run: |
-          python -m pip install twine
-          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-*
-      - name: Upload wheels for opencv_python_headless_rolling
-        run: |
-          python -m pip install twine
-          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-*
-      - name: Upload wheels for opencv_contrib_python_headless_rolling
-        run: |
-          python -m pip install twine
-          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-*
-
-  Pre-release:
-    if: github.event_name == 'release' && github.event.release.prerelease
-    needs: [Build, Test]
-    runs-on: ubuntu-20.04
-    environment: test-opencv-python-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload all wheels
-        run: |
-          python -m pip install twine
-          python -m twine upload --repository testpypi -u ${{ secrets.PYPI_USERNAME }} -p ${{ secrets.PYPI_PASSWORD }} --skip-existing wheelhouse/opencv_*
-
-  Release:
-    if: github.event_name == 'release' && !github.event.release.prerelease
-    needs: [Build, Test]
-    runs-on: ubuntu-20.04
-    environment: opencv-python-release
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/download-artifact@v3
-        with:
-          name: wheels
-          path: wheelhouse/
-      - name: Upload wheels for opencv_python
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_python-*
-      - name: Upload wheels for opencv_contrib_python
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_PASSWORD }} --skip-existing wheelhouse/opencv_contrib_python-*
-      - name: Upload wheels for opencv_python_headless
-        run: |
-          python -m pip install twine
-          python -m twine upload -u ${{ secrets.OPENCV_PYTHON_HEADLESS_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_HEADLESS_PASSWORD }} --skip-existing wheelhouse/opencv_python_headless-*
-      - name: Upload wheels for opencv_contrib_python_headless
-        run: |
-          python -m pip install twine
-          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-*

From cf492250353b0121d5fa16aadc55a1b35d69bfa1 Mon Sep 17 00:00:00 2001
From: Arpit Jain <40381412+arpitjain799@users.noreply.github.com>
Date: Fri, 28 Apr 2023 00:29:19 +0900
Subject: [PATCH 3/6] Delete .github/workflows/codeql.yml

---
 .github/workflows/codeql.yml | 30 ------------------------------
 1 file changed, 30 deletions(-)
 delete mode 100644 .github/workflows/codeql.yml

diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
deleted file mode 100644
index 46be44e9..00000000
--- a/.github/workflows/codeql.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-jobs:
-  analyze:
-    name: Analyze
-    permissions:
-      actions: read
-      contents: read
-      security-events: write
-    runs-on: ubuntu-latest
-    steps:
-    - name: Checkout repository
-      uses: actions/checkout@v3
-    - name: Initialize CodeQL
-      uses: github/codeql-action/init@v2
-      with:
-        languages: ${{ matrix.language }}
-        queries: security-and-quality
-    - name: Autobuild
-      uses: github/codeql-action/autobuild@v2
-    - name: Perform CodeQL Analysis
-      uses: github/codeql-action/analyze@v2
-    strategy:
-      fail-fast: false
-      matrix:
-        language:
-        - python
-name: CodeQL
-'on':
-  push:
-    branches:
-    - 4.x

From 1f352356eb37938a23d6586d02196c01141bc089 Mon Sep 17 00:00:00 2001
From: Arpit Jain <40381412+arpitjain799@users.noreply.github.com>
Date: Fri, 28 Apr 2023 00:29:20 +0900
Subject: [PATCH 4/6] Add new file

---
 .github/workflows/codeql.yml | 37 ++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 .github/workflows/codeql.yml

diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
new file mode 100644
index 00000000..94d110b3
--- /dev/null
+++ b/.github/workflows/codeql.yml
@@ -0,0 +1,37 @@
+name: "CodeQL"
+on:
+  workflow_dispatch:
+  #push:
+  #  branches: [master]
+  #pull_request:
+  #  branches: [master]
+
+jobs:
+  analyze:
+    name: Analyze
+    runs-on: ubuntu-latest
+    permissions:
+      actions: read
+      contents: read
+      security-events: write
+
+    strategy:
+      fail-fast: false
+      matrix:
+        language: ["python"]
+
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@v3
+    
+    - name: Initialize CodeQL
+      uses: github/codeql-action/init@v2
+      with:
+        languages: ${{ matrix.language }}
+        queries: security-and-quality
+    
+    - name: Autobuild
+      uses: github/codeql-action/autobuild@v2
+    
+    - name: Perform CodeQL Analysis
+      uses: github/codeql-action/analyze@v2
\ No newline at end of file

From d827463f73a2cbfe0832778256e0ecab5f6f652b Mon Sep 17 00:00:00 2001
From: Arpit Jain <40381412+arpitjain799@users.noreply.github.com>
Date: Fri, 28 Apr 2023 04:38:17 +0900
Subject: [PATCH 5/6] Delete .github/workflows/codeql.yml

---
 .github/workflows/codeql.yml | 37 ------------------------------------
 1 file changed, 37 deletions(-)
 delete mode 100644 .github/workflows/codeql.yml

diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
deleted file mode 100644
index 94d110b3..00000000
--- a/.github/workflows/codeql.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-name: "CodeQL"
-on:
-  workflow_dispatch:
-  #push:
-  #  branches: [master]
-  #pull_request:
-  #  branches: [master]
-
-jobs:
-  analyze:
-    name: Analyze
-    runs-on: ubuntu-latest
-    permissions:
-      actions: read
-      contents: read
-      security-events: write
-
-    strategy:
-      fail-fast: false
-      matrix:
-        language: ["python"]
-
-    steps:
-    - name: Checkout repository
-      uses: actions/checkout@v3
-    
-    - name: Initialize CodeQL
-      uses: github/codeql-action/init@v2
-      with:
-        languages: ${{ matrix.language }}
-        queries: security-and-quality
-    
-    - name: Autobuild
-      uses: github/codeql-action/autobuild@v2
-    
-    - name: Perform CodeQL Analysis
-      uses: github/codeql-action/analyze@v2
\ No newline at end of file

From 140913e8c8bf34fee06c4b7b07103a505e202fd3 Mon Sep 17 00:00:00 2001
From: Arpit Jain <40381412+arpitjain799@users.noreply.github.com>
Date: Fri, 28 Apr 2023 04:38:18 +0900
Subject: [PATCH 6/6] Add new file

---
 .github/workflows/codeql.yml | 37 ++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 .github/workflows/codeql.yml

diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
new file mode 100644
index 00000000..94d110b3
--- /dev/null
+++ b/.github/workflows/codeql.yml
@@ -0,0 +1,37 @@
+name: "CodeQL"
+on:
+  workflow_dispatch:
+  #push:
+  #  branches: [master]
+  #pull_request:
+  #  branches: [master]
+
+jobs:
+  analyze:
+    name: Analyze
+    runs-on: ubuntu-latest
+    permissions:
+      actions: read
+      contents: read
+      security-events: write
+
+    strategy:
+      fail-fast: false
+      matrix:
+        language: ["python"]
+
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@v3
+    
+    - name: Initialize CodeQL
+      uses: github/codeql-action/init@v2
+      with:
+        languages: ${{ matrix.language }}
+        queries: security-and-quality
+    
+    - name: Autobuild
+      uses: github/codeql-action/autobuild@v2
+    
+    - name: Perform CodeQL Analysis
+      uses: github/codeql-action/analyze@v2
\ No newline at end of file
