99 - ' .github/workflows/build_wheels_manylinux*'
1010 - ' .github/workflows/build_wheels_windows*'
1111 - ' .github/workflows/build_wheels_macos_m1.yml'
12- release :
13- types : [published, edited]
14- schedule :
15- - cron : ' 0 3 * * 6'
12+ - ' .github/workflows/build_sdist.yml'
13+ - ' .github/workflows/release.yml'
14+ workflow_call :
15+ inputs :
16+ rolling :
17+ type : boolean
18+ default : false
1619 workflow_dispatch :
1720
21+ permissions :
22+ contents : read
1823
1924jobs :
2025 Build :
21- runs-on : python- macos-intel
26+ runs-on : macos-15 -intel
2227 strategy :
2328 fail-fast : false
2429 matrix :
5055 run : find . -mindepth 1 -delete
5156 working-directory : ${{ github.workspace }}
5257 - name : Setup environment
58+ if : inputs.rolling == 'true' || github.event_name == 'workflow_dispatch'
5359 run : |
54- if [[ "${{ github.event_name }}" == "schedule" || "${{ github.event_name }}" == "workflow_dispatch" ]]; then
55- echo "ENABLE_ROLLING=1" >> $GITHUB_ENV
56- fi
60+ echo "ENABLE_ROLLING=1" >> $GITHUB_ENV
5761 - name : Checkout
5862 uses : actions/checkout@v7
5963 with :
@@ -71,12 +75,12 @@ jobs:
7175 - name : Saving a wheel accordingly to matrix
7276 uses : actions/upload-artifact@v7
7377 with :
74- name : wheel -${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
78+ name : build-${{ matrix.platform }}-macos -${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
7579 path : wheelhouse/opencv*.whl
7680
7781 Test :
7882 needs : [Build]
79- runs-on : python- macos-intel
83+ runs-on : macos-26 -intel
8084 strategy :
8185 fail-fast : false
8286 matrix :
@@ -107,7 +111,7 @@ jobs:
107111 - name : Download a wheel accordingly to matrix
108112 uses : actions/download-artifact@v8
109113 with :
110- name : wheel -${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
114+ name : build-${{ matrix.platform }}-macos -${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
111115 path : wheelhouse/
112116 - name : Create Venv for test
113117 run : |
@@ -131,80 +135,3 @@ jobs:
131135 python${{ matrix.python-version }} -m pip install pylint==2.15.9
132136 cd ${{ github.workspace }}/tests
133137 python${{ matrix.python-version }} -m pylint $PYLINT_TEST_FILE
134-
135- Release_rolling :
136- if : ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
137- needs : [Build, Test]
138- runs-on : ubuntu-22.04
139- environment : opencv-python-rolling-release
140- defaults :
141- run :
142- shell : bash
143- steps :
144- - uses : actions/download-artifact@v8
145- with :
146- name : wheels
147- path : wheelhouse/
148- - name : Upload wheels for opencv_python_rolling
149- run : |
150- python -m pip install twine
151- python -m twine upload -u ${{ secrets.OPENCV_PYTHON_ROLLING_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_ROLLING_PASSWORD }} --skip-existing wheelhouse/wheel-*/opencv_python_rolling-*
152- - name : Upload wheels for opencv_contrib_python_rolling
153- run : |
154- python -m pip install twine
155- 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-*
156- - name : Upload wheels for opencv_python_headless_rolling
157- run : |
158- python -m pip install twine
159- 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-*
160- - name : Upload wheels for opencv_contrib_python_headless_rolling
161- run : |
162- python -m pip install twine
163- 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-*
164-
165- Pre-release :
166- if : github.event_name == 'release' && github.event.release.prerelease
167- needs : [Build, Test]
168- runs-on : ubuntu-22.04
169- environment : test-opencv-python-release
170- defaults :
171- run :
172- shell : bash
173- steps :
174- - uses : actions/download-artifact@v8
175- with :
176- path : wheelhouse/
177- - name : Upload all wheels
178- run : |
179- tree
180- python -m pip install twine
181- python -m twine upload --repository testpypi -u ${{ secrets.PYPI_USERNAME }} -p ${{ secrets.PYPI_PASSWORD }} --skip-existing wheelhouse/wheel-*/opencv_*
182-
183- Release :
184- if : github.event_name == 'release' && !github.event.release.prerelease
185- needs : [Build, Test]
186- runs-on : ubuntu-22.04
187- environment : opencv-python-release
188- defaults :
189- run :
190- shell : bash
191- steps :
192- - uses : actions/download-artifact@v8
193- with :
194- path : wheelhouse/
195- - name : Upload wheels for opencv_python
196- run : |
197- python -m pip install twine
198- python -m twine upload -u ${{ secrets.OPENCV_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_PASSWORD }} --skip-existing wheelhouse/wheel-*/opencv_python-*
199- - name : Upload wheels for opencv_contrib_python
200- run : |
201- python -m pip install twine
202- python -m twine upload -u ${{ secrets.OPENCV_CONTRIB_PYTHON_USERNAME }} -p ${{ secrets.OPENCV_CONTRIB_PYTHON_PASSWORD }} --skip-existing wheelhouse/wheel-*/opencv_contrib_python-*
203- - name : Upload wheels for opencv_python_headless
204- run : |
205- python -m pip install twine
206- python -m twine upload -u ${{ secrets.OPENCV_PYTHON_HEADLESS_USERNAME }} -p ${{ secrets.OPENCV_PYTHON_HEADLESS_PASSWORD }} --skip-existing wheelhouse/wheel-*/opencv_python_headless-*
207- - name : Upload wheels for opencv_contrib_python_headless
208- run : |
209- python -m pip install twine
210- 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-*
0 commit comments