提交 c34cbfa3 编写于 作者: A Andrey Senyaev

Added arm build

上级 88c1735d
......@@ -159,6 +159,7 @@ jobs:
build_wheel $REPO_DIR $PLAT
install_run $PLAT
set +x
- name: saving artifacts
uses: actions/upload-artifact@v2
with:
......@@ -238,15 +239,120 @@ jobs:
# 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
build_arm:
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
os: [jetson]
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 }}
PLAT: aarch64
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}
DOCKER_TEST_IMAGE: multibuild/xenial_arm64v8
USE_CCACHE: 0
UNICODE_WIDTH: 32
SDIST: ${{ matrix.build_sdist || 0}}
ENABLE_HEADLESS: ${{ matrix.without_gui }}
ENABLE_CONTRIB: ${{ matrix.with_contrib }}
steps:
- name: Cleanup
if: always()
uses: AutoModality/action-clean@v1
- name: Checkout
uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- name: Setup Environment variables
run: |
if [ "jetson" == "${{ matrix.os }}" ]; then echo "PLAT=aarch64" >> $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
if [[ $SDIST == 0 ]]; then
# 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
echo "end"
# Not interested in travis internal scripts' output
fi
set +x
# Build and package
set -x
ls
if [[ $SDIST == 1 ]]; then
python -m pip install --upgrade pip
python -m pip install scikit-build
python setup.py sdist
else
build_wheel $REPO_DIR $PLAT
fi
set +x
# Install and run tests
set -x
if [[ $SDIST == 1 ]]; then
echo "skipping tests because of sdist"
rc=0
else
install_run $PLAT && rc=$? || rc=$?
fi
set +x
#otherwise, Travis logic terminates prematurely
#https://travis-ci.community/t/shell-session-update-command-not-found-in-build-log-causes-build-to-fail-if-trap-err-is-set/817
trap ERR
test "$rc" -eq 0
- name: saving artifacts
uses: actions/upload-artifact@v2
with:
name: wheels
path: wheelhouse/opencv*.whl
test_release_opencv_python:
if: github.event_name == 'release' && github.event.release.prerelease
needs: [build, build-windows-x86_64, build_sdist]
needs: [build, build-windows-x86_64, build_sdist, build_arm]
runs-on: ubuntu-latest
environment: test-opencv-python-release
defaults:
......@@ -265,7 +371,7 @@ jobs:
release_opencv_python:
if: github.event_name == 'release' && !github.event.release.prerelease
needs: [build, build-windows-x86_64, build_sdist]
needs: [build, build-windows-x86_64, build_sdist, build_arm]
runs-on: ubuntu-latest
environment: opencv-python-release
defaults:
......
......@@ -7,3 +7,6 @@
[submodule "multibuild"]
path = multibuild
url = https://github.com/matthew-brett/multibuild.git
[submodule "opencv_extra"]
path = opencv_extra
url = https://github.com/opencv/opencv_extra.git
Subproject commit 3b033d09cab1894d6452707df723789fe98c8663
......@@ -146,24 +146,31 @@ function run_tests {
echo "Run tests..."
echo $PWD
PYTHON=python$PYTHON_VERSION
if [ -n "$IS_OSX" ]; then
echo "Running for OS X"
cd ../tests/
cd ../opencv/
export OPENCV_TEST_DATA_PATH=../opencv_extra/testdata
else
echo "Running for linux"
cd /io/tests/
if [ $PYTHON == "python3.6" ]; then
$PYTHON -m pip install -U numpy==1.19.4
fi
cd /io/opencv
export OPENCV_TEST_DATA_PATH=/io/opencv_extra/testdata
fi
test_wheels
}
function test_wheels {
PYTHON=python$PYTHON_VERSION
echo "Starting tests..."
#Test package
$PYTHON -m unittest test
$PYTHON modules/python/test/test.py -v --repo .
}
export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册