Temp #68
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: genai_python_lib | |
on: pull_request | |
permissions: read-all # Required by https://github.com/ossf/scorecard/blob/e23b8ad91fd6a64a0a971ca4fc0a4d1650725615/docs/checks.md#token-permissions | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }} | |
cancel-in-progress: true | |
env: | |
l_ov_centos_link: https://storage.openvinotoolkit.org/repositories/openvino/packages/nightly/2024.3.0-15805-6138d624dc1/l_openvino_toolkit_centos7_2024.3.0.dev20240626_x86_64.tgz | |
m_ov_link: https://storage.openvinotoolkit.org/repositories/openvino/packages/nightly/2024.3.0-15805-6138d624dc1/m_openvino_toolkit_macos_12_6_2024.3.0.dev20240626_x86_64.tgz | |
w_ov_link: https://storage.openvinotoolkit.org/repositories/openvino/packages/nightly/2024.3.0-15805-6138d624dc1/w_openvino_toolkit_windows_2024.3.0.dev20240626_x86_64.zip | |
jobs: | |
ubuntu_genai_python_lib: | |
# A tokenizers' dependency fails to compile on ubuntu-20 n CenOS7 env. | |
runs-on: ubuntu-22.04 | |
env: | |
# A tokenizers' dependency fails to compile with Ninja in CenOS7 env. | |
CMAKE_GENERATOR: Unix Makefiles | |
CMAKE_BUILD_PARALLEL_LEVEL: null | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- run: mkdir ./ov/ | |
# Install CentOS7 instead of Ubuntu to match PyPI distribution ABI. | |
- run: curl ${{ env.l_ov_centos_link }} | tar --directory ./ov/ --strip-components 1 -xz | |
- run: sudo ./ov/install_dependencies/install_openvino_dependencies.sh | |
- run: source ./ov/setupvars.sh && cmake -DCMAKE_BUILD_TYPE=Release -S ./ -B ./build/ | |
- run: source ./ov/setupvars.sh && cmake --build ./build/ --config Release -j | |
- run: source ./ov/setupvars.sh && python -m pip install ./thirdparty/openvino_tokenizers/[transformers] -r ./tests/python_tests/requirements.txt --pre --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly --upgrade-strategy eager | |
- run: source ./ov/setupvars.sh && PYTHONPATH=./build/:$PYTHONPATH python -m pytest ./tests/python_tests/test_generate_api.py -m precommit | |
- run: source ./ov/setupvars.sh && python -m pip install . --verbose | |
- run: python -m pytest ./tests/python_tests/test_generate_api.py -m precommit | |
macos_genai_python_lib: | |
runs-on: macos-12 | |
env: | |
# A tokenizers' dependency fails to compile with Ninja. | |
CMAKE_GENERATOR: Unix Makefiles | |
CMAKE_BUILD_PARALLEL_LEVEL: null | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- run: mkdir ./ov/ | |
- run: curl ${{ env.m_ov_link }} | tar --directory ./ov/ --strip-components 1 -xz | |
- run: brew install coreutils scons | |
- run: source ./ov/setupvars.sh && cmake -DCMAKE_BUILD_TYPE=Release -S ./ -B ./build/ | |
- run: source ./ov/setupvars.sh && cmake --build ./build/ --config Release -j | |
- run: source ./ov/setupvars.sh && python -m pip install ./thirdparty/openvino_tokenizers/[transformers] -r ./tests/python_tests/requirements.txt --pre --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly --upgrade-strategy eager | |
- run: source ./ov/setupvars.sh && PYTHONPATH=./build/:$PYTHONPATH python -m pytest ./tests/python_tests/test_generate_api.py -m precommit | |
- run: source ./ov/setupvars.sh && python -m pip install . --verbose | |
- run: python -c "from openvino_genai import LLMPipeline" | |
- run: python -m pytest ./tests/python_tests/test_generate_api.py -m precommit | |
windows_genai_python_lib: | |
if: false | |
runs-on: windows-latest | |
env: | |
CMAKE_BUILD_PARALLEL_LEVEL: null | |
defaults: | |
run: | |
shell: cmd | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- run: curl --output ov.zip ${{ env.l_ov_link }} | |
- run: unzip -d ov ov.zip | |
- run: dirs=(ov/*) && mv ov/*/* ov && rmdir "${dirs[@]}" | |
shell: bash | |
- run: call ./ov/setupvars.bat && cmake -DCMAKE_BUILD_TYPE=Release -S ./ -B ./build/ | |
- run: call ./ov/setupvars.bat && cmake --build ./build/ --config Release -j | |
- run: call ./ov/setupvars.bat && python -m pip install ./thirdparty/openvino_tokenizers/[transformers] -r ./tests/python_tests/requirements.txt --pre --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly --upgrade-strategy eager | |
# cmd evaluates variables in a different way. Setting PYTHONPATH before setupvars.bat instead of doing that after solves that. | |
- run: set "PYTHONPATH=./build/" && call ./ov/setupvars.bat && python -m pytest ./tests/python_tests/test_generate_api.py -m precommit | |
- run: call ./ov/setupvars.bat && python -m pip install . --verbose | |
- run: python -m pytest ./tests/python_tests/test_generate_api.py -m precommit |