-
Notifications
You must be signed in to change notification settings - Fork 145
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[CI] [GHA] Transfer Mac workflow from Azure to GHA (#912)
* transfer linux workflow * provide ref * install git-lfs * install unzip * correct path for log * upload test results * use gha runner * rm sudo * skip test * rm unused env vars from linux; add win workflow * configure msvc * add build of ov_contrib * use setupvars * use quotes * use ov repo * use cmd * call cmd setupvars * add nvidia job * add generator * do not use dev package * add missing ref * allow downgrades * allow change * add dev package * enable system * use from fork * rm system * use hash * update hash * enable tests * build dev targets, do not build tests * enable tests * use master * add mac * install gradle via brew * upload test results * use actions/cache * unskip * new line
- Loading branch information
Showing
1 changed file
with
149 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,149 @@ | ||
name: macOS (Python 3.11) | ||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
push: | ||
branches: | ||
- master | ||
- 'releases/**' | ||
|
||
concurrency: | ||
# github.ref is not unique in post-commit | ||
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-mac-main | ||
cancel-in-progress: true | ||
|
||
env: | ||
PYTHON_VERSION: '3.11' | ||
|
||
jobs: | ||
Build_and_test: | ||
name: Build and Test | ||
timeout-minutes: 150 | ||
defaults: | ||
run: | ||
shell: bash | ||
runs-on: 'macos-13-large' | ||
env: | ||
CMAKE_BUILD_TYPE: 'Release' | ||
MACOSX_DEPLOYMENT_TARGET: '11.0' | ||
OSX_ARCHITECTURES: 'x86_64' | ||
CMAKE_CXX_COMPILER_LAUNCHER: ccache | ||
CMAKE_C_COMPILER_LAUNCHER: ccache | ||
OPENVINO_REPO: ${{ github.workspace }}/openvino | ||
OPENVINO_CONTRIB_REPO: ${{ github.workspace }}/openvino_contrib | ||
TEST_DATA: ${{ github.workspace }}/testdata | ||
INSTALL_DIR: ${{ github.workspace }}/openvino_install | ||
INSTALL_DIR_JS: ${{ github.workspace }}/openvino_install/js | ||
INSTALL_TEST_DIR: ${{ github.workspace }}/tests_install | ||
BUILD_DIR: ${{ github.workspace }}/build | ||
CCACHE_DIR: ${{ github.workspace }}/ccache | ||
CCACHE_MAXSIZE: '2G' | ||
GRADLE_VER: '7.1.1' | ||
steps: | ||
- name: Clone OpenVINO | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: 'openvinotoolkit/openvino' | ||
path: 'openvino' | ||
submodules: 'true' | ||
ref: 'master' | ||
|
||
- name: Clone OpenVINO Contrib | ||
uses: actions/checkout@v4 | ||
with: | ||
path: 'openvino_contrib' | ||
|
||
- name: Clone Testdata | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: 'openvinotoolkit/testdata' | ||
path: 'testdata' | ||
lfs: 'true' | ||
submodules: 'true' | ||
|
||
# | ||
# Dependencies | ||
# | ||
|
||
- name: Install build dependencies | ||
run: brew install coreutils ninja scons automake gradle ccache | ||
|
||
- name: Setup Python ${{ env.PYTHON_VERSION }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ env.PYTHON_VERSION }} | ||
|
||
- name: Install python dependencies | ||
run: python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/wheel/requirements-dev.txt | ||
|
||
# | ||
# Build | ||
# | ||
|
||
- name: Setup ccache | ||
uses: actions/cache@v4 | ||
with: | ||
# Should save cache only if run in the master branch of the base repo | ||
# github.ref_name is 'ref/PR_#' in case of the PR, and 'branch_name' when executed on push | ||
save-always: ${{ github.ref_name == 'master' && 'true' || 'false' }} | ||
path: ${{ env.CCACHE_DIR }} | ||
key: ${{ runner.os }}-${{ runner.arch }}-ccache-${{ github.sha }} | ||
restore-keys: | | ||
${{ runner.os }}-${{ runner.arch }}-ccache | ||
- name: CMake configure | ||
run: | | ||
cmake \ | ||
-GNinja \ | ||
-DCMAKE_VERBOSE_MAKEFILE=ON \ | ||
-DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} \ | ||
-DBUILD_nvidia_plugin=OFF \ | ||
-DOPENVINO_EXTRA_MODULES=${{ env.OPENVINO_CONTRIB_REPO }}/modules \ | ||
-DCMAKE_OSX_DEPLOYMENT_TARGET=${{ env.MACOSX_DEPLOYMENT_TARGET }} \ | ||
-DCMAKE_OSX_ARCHITECTURES=${{ env.OSX_ARCHITECTURES }} \ | ||
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \ | ||
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \ | ||
-DENABLE_OV_PADDLE_FRONTEND=OFF \ | ||
-DENABLE_OV_TF_FRONTEND=OFF \ | ||
-DENABLE_OV_TF_LITE_FRONTEND=OFF \ | ||
-DENABLE_OV_PYTORCH_FRONTEND=OFF \ | ||
-DENABLE_CPPLINT=OFF \ | ||
-DENABLE_INTEL_NPU=OFF \ | ||
-S ${{ env.OPENVINO_REPO }} \ | ||
-B ${{ env.BUILD_DIR }} | ||
- name: Cmake build | ||
run: cmake --build ${{ env.BUILD_DIR }} --parallel | ||
|
||
- name: Show ccache stats | ||
run: ccache --show-stats | ||
|
||
- name: Cmake install | ||
run: cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/cmake_install.cmake | ||
|
||
- name: Java tests | ||
working-directory: ${{ env.OPENVINO_CONTRIB_REPO }}/modules/java_api | ||
run: | | ||
. ${{ env.INSTALL_DIR }}/setupvars.sh gradle clean build --info | ||
for d in CPU HETERO:CPU; do | ||
gradle test -Prun_tests -DMODELS_PATH=${{ env.TEST_DATA }} -Ddevice=$d --info; | ||
done | ||
- name: Check wheel installation | ||
run: | | ||
source ${{ env.INSTALL_DIR }}/setupvars.sh | ||
python3 -m pip install -r ${{ env.OPENVINO_CONTRIB_REPO }}/modules/custom_operations/tests/requirements.txt | ||
pushd ${{ env.INSTALL_DIR }}/tools | ||
wheel_name=$(find . -name 'openvino-*.whl') | ||
python3 -m pip install $wheel_name | ||
popd | ||
- name: Upload Test Results | ||
uses: actions/upload-artifact@v4 | ||
if: ${{ !cancelled() }} | ||
with: | ||
name: test-results-java | ||
path: ${{ env.OPENVINO_CONTRIB_REPO }}/modules/java_api/build/test-results | ||
if-no-files-found: 'warn' |