github-actions #135
This file contains 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
name: github-actions | |
on: | |
pull_request: null | |
schedule: | |
- cron: '00 3 * * *' # Run every day at 3:00 to regenerate cache | |
jobs: | |
cpp_gapi-demos: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Download OpenVINO | |
run: | | |
mkdir ov | |
curl https://storage.openvinotoolkit.org/repositories/openvino/packages/2023.1/linux/l_openvino_toolkit_ubuntu20_2023.1.0.12185.47b736f63ed_x86_64.tgz | tar --directory ov --strip-components 1 -xz | |
sudo ov/install_dependencies/install_openvino_dependencies.sh | |
sudo apt install libgtk2.0-dev pkg-config # smart_classroom_demo_gapi's OpenCV error asks to install them | |
- uses: hendrikmuhs/[email protected] | |
with: | |
key: ubuntu20_2023.1.0.12185.47b736f63ed # This action prepends and appends its strings to the key | |
restore: ${{ github.event_name == 'pull_request'}} | |
- if: ${{ github.event_name == 'pull_request'}} | |
uses: actions/cache/restore@v3 | |
id: cache | |
with: | |
path: ${{ github.workspace }}/cache | |
key: unused | |
restore-keys: ubuntu20_2023.1.0.12185.47b736f63ed- | |
- if: ${{ !steps.cache.outputs.cache-hit }} | |
uses: actions/checkout@v3 | |
with: | |
repository: opencv/opencv | |
path: cache/opencv | |
- if: ${{ !steps.cache.outputs.cache-hit }} | |
name: Compile OpenCV | |
run: | | |
rm -rf cache/opencv/.git/ # Minimize cache | |
mkdir cache/opencv/build | |
cd cache/opencv/build | |
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_INF_ENGINE=y -DOpenVINO_DIR=$GITHUB_WORKSPACE/ov/runtime/cmake/ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_LINKER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_C_LINKER_LAUNCHER=ccache -DBUILD_TESTS=n -DBUILD_PERF_TESTS=n -DBUILD_EXAMPLES=n -DBUILD_opencv_apps=n -DWITH_OPENCL=n -DWITH_OPENCLAMDBLAS=n -DWITH_OPENCLAMDFFT=n -DWITH_VA=n -DWITH_VA_INTEL=n -DWITH_V4L=n -DWITH_GSTREAMER=n -DWITH_PROTOBUF=n -DBUILD_PROTOBUF=n -DBUILD_JAVA=n -DBUILD_opencv_java_bindings_generator=n -DBUILD_opencv_python2=n -DBUILD_opencv_python3=n -DWITH_IMGCODEC_HDR=n -DWITH_IMGCODEC_SUNRASTER=n -DWITH_IMGCODEC_PXM=n -DWITH_IMGCODEC_PFM=n -DWITH_PNG=n -DWITH_TIFF=n -DWITH_WEBP=n -DWITH_OPENJPEG=n -DWITH_JASPER=n -DWITH_OPENEXR=n -DBUILD_opencv_dnn=n -DBUILD_opencv_features2d=n -DBUILD_opencv_flann=n -DWITH_TBB=n -DBUILD_INFO_SKIP_EXTRA_MODULES=n -DBUILD_JASPER=n -DBUILD_PNG=n -DBUILD_OPENEXR=n -DBUILD_WEBP=n -DBUILD_ZLIB=n -DWITH_CUDA=n -DWITH_EIGEN=n -DWITH_GPHOTO2=n -DOPENCV_GAPI_GSTREAMER=n -DWITH_LAPACK=n -DWITH_MATLAB=n -DWITH_MFX=n -DWITH_QUIRC=n -DWITH_VTK=n -DINSTALL_PDB=n -DINSTALL_TESTS=n -DINSTALL_C_EXAMPLES=n -DINSTALL_PYTHON_EXAMPLES=n -DOPENCV_GENERATE_SETUPVARS=n -DWITH_1394=n -DWITH_FFMPEG=n -DWITH_GTK_2_X=y -DBUILD_JPEG=y -DWITH_IPP=y -DENABLE_CONFIG_VERIFICATION=y -DBUILD_LIST=core,gapi,highgui,imgcodecs,imgproc,videoio .. | |
cmake --build . -j $((`nproc`*2+2)) | |
- name: build_demos.sh | |
run: | | |
source ov/setupvars.sh | |
OpenCV_DIR=$GITHUB_WORKSPACE/cache/opencv/build CMAKE_CXX_COMPILER_LAUNCHER=ccache CMAKE_CXX_LINKER_LAUNCHER=ccache ./demos/build_demos.sh --build_dir=build # TODO: add CMAKE_CXX_FLAGS=-Werror after background_subtraction_demo/cpp_gapi is updated to ov2.0 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.11 | |
- name: Install OMZ tools | |
run: | | |
python -m pip install --cache-dir cache/pip/ --upgrade pip | |
python -m pip install --cache-dir cache/pip/ --extra-index-url https://download.pytorch.org/whl/cpu openvino==2023.1.0 openvino-dev[onnx,pytorch,tensorflow2]==2023.1.0 tools/model_tools[pytorch,tensorflow2] | |
# Reinstall OMZ tools that could come from openvino-dev because pip doesn't promise the order of installation | |
python -m pip install --no-cache-dir --no-deps tools/model_tools | |
# Make sure OpenVINO is used from C++ package, not from PyPI | |
python -m pip uninstall -y openvino | |
- name: run_tests.py | |
run: | | |
source ov/setupvars.sh | |
python demos/tests/run_tests.py --demo-build-dir build/intel64/Release/ --test-data-dir . --device CPU --downloader-cache-dir ${{ github.workspace }}/cache/downloader/ --precisions FP16 --demos cpp_gapi | |
- uses: actions/cache/save@v3 | |
with: | |
path: ${{ github.workspace }}/cache | |
key: ubuntu20_2023.1.0.12185.47b736f63ed-${{ github.event.repository.updated_at }} |