OpenVINO - Basic Test #1984
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: OpenVINO - Basic Test | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "41 1 * * *" # run every day at 1:41 | |
push: | |
branches: | |
- v*-release | |
pull_request: | |
types: [opened, synchronize, reopened, labeled] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
if: ${{ (github.event_name == 'workflow_dispatch') || (github.event_name == 'schedule') || (github.event_name == 'push') || contains( github.event.pull_request.labels.*.name, 'openvino-test') }} | |
strategy: | |
fail-fast: false | |
matrix: | |
# Testing lower and upper bound of supported Python versions | |
# This also ensures that the test fails if dependencies break for Python 3.7 | |
python-version: ["3.9", "3.12"] | |
os: ["ubuntu-22.04", "windows-latest"] | |
transformers-version: ["latest"] | |
openvino: ["openvino openvino-tokenizers"] | |
nncf: ["nncf"] | |
include: | |
- python-version: "3.12" | |
os: "ubuntu-22.04" | |
transformers-version: "4.36.0" | |
openvino: "openvino openvino-tokenizers" | |
nncf: "nncf" | |
- python-version: "3.12" | |
os: "ubuntu-22.04" | |
transformers-version: "latest" | |
openvino: "--pre -U openvino openvino-tokenizers --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly" | |
nncf: "nncf" | |
- python-version: "3.12" | |
os: "ubuntu-22.04" | |
transformers-version: "latest" | |
openvino: "--pre -U openvino openvino-tokenizers --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly" | |
nncf: "git+https://github.com/openvinotoolkit/nncf.git" | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install lowest compatible transformers version | |
if: ${{ matrix.transformers-version != 'latest' }} | |
run: pip install transformers==${{ matrix.transformers-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
# Install PyTorch CPU to prevent unnecessary downloading/installing of CUDA packages | |
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu | |
# Install openvino manually to prevent dependency conflicts when .[openvino] pins | |
# optimum or transformers to a specific version | |
pip install ${{ matrix.openvino }} | |
pip install .[tests] | |
- name: Pip freeze | |
run: pip freeze | |
- name: Test with Pytest | |
run: | | |
pytest tests/openvino/test_modeling_basic.py | |
- name: Slow tests | |
run: | | |
pip install ${{ matrix.nncf }} | |
pytest tests/openvino -s -m "run_slow" --durations=0 | |
env: | |
RUN_SLOW: 1 | |
HF_HUB_READ_TOKEN: ${{ secrets.HF_HUB_READ_TOKEN }} |