-
Notifications
You must be signed in to change notification settings - Fork 904
update 3.4.13 to 3.4.14 #476
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
89ca6a4
Add GitHub actions setup for CI instead of Travis & Appveyour (where …
sergregory 4262df8
Update opencv to 4.5.2
sergregory 6c9ce38
Update opencv 3.4.13 -> 3.4.14
sergregory 5f52244
Merge branch 'master' into 3.4
sergregory ff8fe35
Apply review comment - unify spaces inside the double brackets for va…
sergregory File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next
Next commit
Add GitHub actions setup for CI instead of Travis & Appveyour (where …
…possible) (#470) * Add initial config for github actions * Allow actions for all branches and PRs to master by default * Fix typo * Do not set docker image info for multibuild, as we do it in github actions * Do not run github action in docker as multiduild will do it for us * Remove error steps - somehow I've missed them when cleaned for the build * Merge all build logic into one step as somehow build wheel is not known when sourced and used in different steps * Debug: try to change directory to get inside the repo sources * Adjust env variables to enable build * Specify docker image to use in github builds * Enable back all python versions in build matrix * Remove numpy as build dependency as prebuilt docker should handle it for us * Make linux build matrix wider - enable contrib, headless/gui, source/binary distribution * Fix return code setting for skipped tests in case of sdist * Build source distribution with only one version of python - as we do not care abnout python version when doing the source distribution * Try to fix config * Try to fix config * Enable OSX builds * Quickfix to enable OSX build * Temporary disable linux and all pythons execpt one to reduce the build matrix size * Disable cache stage that was implemented for travis * Do not unlink python2 for github osx builds * Fix ffmpeg bottle build command * Disable travis cache stage * Changed build_wheels to Windows platform * Try new pipeline * Try windows with a new configuration * Try bash on Windows * Added ubuntu and macos into pipeline * Fix if condition for windows * Turned on all python versions, uploading artifacts * Fixed Windows and created Release job * Add missed source distribution build * Move x86 python builds to github actions. Travis does only aarch64 now * Split linux and OSX builds to exclude x86 OSX builds from build matrix * Reduce architectures to x64 for both OSX and Ubuntu as x86 is supported for windows only * Add PyPI secrets usage * Publish packages built in PRs to testPyPI * Push to test PyPI on each package build. Remove unneded build on push to master * Apply review comments * Combine all release steps into one job Co-authored-by: Andrey Senyaev <andrey.senyaev@xperience.ai> Co-authored-by: Andrey Senyaev <76472231+asenyaev@users.noreply.github.com>
- Loading branch information
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,279 @@ | ||
name: Build PYPI wheels for opencv-python | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- master | ||
release: | ||
types: [published, edited] | ||
|
||
|
||
jobs: | ||
build-windows-x86_64: | ||
runs-on: ${{ matrix.os }} | ||
defaults: | ||
run: | ||
shell: powershell | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [windows-latest] | ||
python-version: [3.6, 3.7, 3.8, 3.9] | ||
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 }} | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
fetch-depth: 0 | ||
|
||
- name: Update submodules | ||
run: | | ||
git submodule update --remote | ||
|
||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
architecture: ${{ matrix.platform }} | ||
|
||
- name: Setup MSBuild.exe | ||
uses: warrenbuckley/Setup-MSBuild@v1 | ||
|
||
- name: build script | ||
run: | | ||
python --version | ||
python -m pip install --upgrade pip | ||
python -m pip install --upgrade setuptools | ||
set "CI_BUILD=1" && python -m pip wheel --wheel-dir=%cd%\wheelhouse . --verbose | ||
shell: cmd | ||
|
||
- name: before test | ||
run: | | ||
cd ${{ github.workspace }}/tests | ||
&python -m pip install --user --no-warn-script-location (ls "../wheelhouse/opencv*.whl") | ||
if ($LastExitCode -ne 0) {throw $LastExitCode} | ||
shell: powershell | ||
|
||
- name: run test | ||
run: | | ||
cd ${{ github.workspace }}/tests | ||
python -m unittest test | ||
shell: cmd | ||
|
||
- name: saving artifacts | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: wheels | ||
path: wheelhouse/opencv*.whl | ||
|
||
build: | ||
runs-on: ${{ matrix.os }} | ||
defaults: | ||
run: | ||
shell: bash | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest, macos-latest] | ||
python-version: [3.6, 3.7, 3.8, 3.9] | ||
platform: [x64] | ||
with_contrib: [0, 1] | ||
without_gui: [0, 1] | ||
build_sdist: [0] | ||
|
||
env: | ||
ACTIONS_ALLOW_UNSECURE_COMMANDS: true | ||
REPO_DIR: . | ||
BUILD_COMMIT: master | ||
PROJECT_SPEC: opencv-python | ||
MB_PYTHON_VERSION: ${{ matrix.python-version }} | ||
TRAVIS_PYTHON_VERSION: ${{ matrix.python-version }} | ||
MB_ML_VER: 2014 | ||
NP_TEST_DEP: numpy | ||
TRAVIS_BUILD_DIR: ${{ github.workspace }} | ||
CONFIG_PATH: travis_config.sh | ||
DOCKER_IMAGE: quay.io/skvark/manylinux2014_${PLAT} | ||
USE_CCACHE: 1 | ||
UNICODE_WIDTH: 32 | ||
SDIST: ${{ matrix.build_sdist || 0}} | ||
ENABLE_HEADLESS: ${{ matrix.without_gui }} | ||
ENABLE_CONTRIB: ${{ matrix.with_contrib }} | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
fetch-depth: 0 | ||
|
||
- name: Update submodules | ||
run: | | ||
git submodule update --remote | ||
|
||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
if: ${{ 'macos-latest' == matrix.os }} | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
architecture: ${{ matrix.platform }} | ||
|
||
- name: Setup Environment variables | ||
run: | | ||
if [ "macos-latest" == "${{ matrix.os }}" ]; then echo "TRAVIS_OS_NAME=osx" >> $GITHUB_ENV; else echo "TRAVIS_OS_NAME=${{ matrix.os }}" >> $GITHUB_ENV; fi | ||
if [ "schedule" == "${{ github.event_name }}" ]; then echo "TRAVIS_EVENT_TYPE=cron" >> $GITHUB_ENV; else echo "TRAVIS_EVENT_TYPE=${{ github.event_name }}" >> $GITHUB_ENV; fi | ||
if [ "schedule" == "${{ github.event_name }}" ]; then echo "BUILD_COMMIT=master" >> $GITHUB_ENV; else echo "BUILD_COMMIT=$BUILD_COMMIT" >> $GITHUB_ENV; fi | ||
if [ "x64" == "${{ matrix.platform }}" ]; then echo "PLAT=x86_64" >> $GITHUB_ENV; fi | ||
if [ "x86" == "${{ matrix.platform }}" ]; then echo "PLAT=i686" >> $GITHUB_ENV; fi | ||
echo "BUILD_DEPENDS=$(echo $NP_BUILD_DEP)" >> $GITHUB_ENV; | ||
echo "TEST_DEPENDS=$(echo $NP_TEST_DEP)" >> $GITHUB_ENV; | ||
|
||
- name: before install | ||
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 | ||
install_run $PLAT | ||
set +x | ||
- name: saving artifacts | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: wheels | ||
path: wheelhouse/opencv*.whl | ||
|
||
|
||
build_sdist: | ||
runs-on: ${{ matrix.os }} | ||
defaults: | ||
run: | ||
shell: bash | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest] | ||
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: . | ||
BUILD_COMMIT: master | ||
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 | ||
TRAVIS_BUILD_DIR: ${{ github.workspace }} | ||
CONFIG_PATH: travis_config.sh | ||
DOCKER_IMAGE: quay.io/skvark/manylinux2014_${PLAT} | ||
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: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
fetch-depth: 0 | ||
|
||
- name: Update submodules | ||
run: | | ||
git submodule update --remote | ||
|
||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
architecture: ${{ matrix.platform }} | ||
|
||
- name: Setup Environment variables | ||
run: | | ||
if [ "macos-latest" == "${{ matrix.os }}" ]; then echo "TRAVIS_OS_NAME=osx" >> $GITHUB_ENV; else echo "TRAVIS_OS_NAME=${{ matrix.os }}" >> $GITHUB_ENV; fi | ||
if [ "schedule" == "${{ github.event_name }}" ]; then echo "TRAVIS_EVENT_TYPE=cron" >> $GITHUB_ENV; else echo "TRAVIS_EVENT_TYPE=${{ github.event_name }}" >> $GITHUB_ENV; fi | ||
if [ "schedule" == "${{ github.event_name }}" ]; then echo "BUILD_COMMIT=master" >> $GITHUB_ENV; else echo "BUILD_COMMIT=$BUILD_COMMIT" >> $GITHUB_ENV; fi | ||
echo "BUILD_DEPENDS=$(echo $NP_BUILD_DEP)" >> $GITHUB_ENV; | ||
echo "TEST_DEPENDS=$(echo $NP_TEST_DEP)" >> $GITHUB_ENV; | ||
|
||
- name: before install | ||
run: | | ||
set -e | ||
# Build and package | ||
set -x | ||
python -m pip install --upgrade pip | ||
python -m pip install scikit-build | ||
python setup.py sdist | ||
set +x | ||
# Install and run tests | ||
set -x | ||
echo "skipping tests because of sdist" | ||
- name: saving artifacts | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: wheels | ||
path: dist/opencv*.tar.gz | ||
|
||
release_opencv_python: | ||
if: startsWith(github.ref, 'refs/tags/v') | ||
needs: [build, build-windows-x86_64, build_sdist] | ||
runs-on: ubuntu-latest | ||
environment: opencv-python-release | ||
defaults: | ||
run: | ||
shell: bash | ||
steps: | ||
- uses: actions/download-artifact@v2 | ||
with: | ||
name: wheels | ||
path: wheelhouse/ | ||
- name: Upload wheels for opencv_python | ||
run: | | ||
python -m pip install twine | ||
sergregory marked this conversation as resolved.
Show resolved
Hide resolved
|
||
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-* |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.