115 lines
3.2 KiB
YAML
115 lines
3.2 KiB
YAML
name: Python API Checks
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
paths:
|
|
- 'src/bindings/python/**'
|
|
- 'samples/python/**'
|
|
- '.github/workflows/py_checks.yml'
|
|
branches:
|
|
- 'master'
|
|
- 'releases/**'
|
|
pull_request:
|
|
paths:
|
|
- 'src/bindings/python/**'
|
|
- 'samples/python/**'
|
|
- '.github/workflows/py_checks.yml'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
linters:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- name: Clone OpenVINO
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.8'
|
|
|
|
- name: Install dependencies
|
|
run: python -m pip install -r src/bindings/python/requirements_test.txt
|
|
|
|
# samples code-style
|
|
- name: Run flake8 on samples
|
|
run: python -m flake8 ./ --config=setup.cfg
|
|
working-directory: samples/python
|
|
|
|
- name: Create code style diff for samples
|
|
if: failure()
|
|
run: |
|
|
python -m black -l 160 -S ./
|
|
git diff > samples_diff.diff
|
|
working-directory: samples/python
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: samples_diff
|
|
path: samples_diff.diff
|
|
|
|
# Python API Flake code-style
|
|
- name: Run flake8 on Python API
|
|
run: python -m flake8 ./src/openvino --config=setup.cfg
|
|
working-directory: src/bindings/python
|
|
|
|
- name: Create code style diff for Python API
|
|
if: failure()
|
|
run: |
|
|
python -m black -l 160 -S ./
|
|
git diff > pyopenvino_diff.diff
|
|
working-directory: src/bindings/python/src/openvino
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: pyopenvino_diff
|
|
path: pyopenvino_diff.diff
|
|
|
|
# wheel Flake code-style
|
|
- name: Run flake8 on wheel
|
|
run: python -m flake8 ./ --config=../setup.cfg
|
|
working-directory: src/bindings/python/wheel
|
|
|
|
- name: Create code style diff for wheel
|
|
if: failure()
|
|
run: |
|
|
python -m black -l 160 -S ./
|
|
git diff > wheel_diff.diff
|
|
working-directory: src/bindings/python/wheel
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: wheel_diff
|
|
path: wheel_diff.diff
|
|
|
|
# Python API tests Flake code-style
|
|
- name: Run flake8 on python tests
|
|
# ignore lack of docs in tests
|
|
run: python -m flake8 tests/ --config=setup.cfg
|
|
working-directory: src/bindings/python
|
|
|
|
# Python API mypy check
|
|
- name: Run mypy on Python API
|
|
run: python -m mypy ./src/openvino --config-file ./setup.cfg
|
|
working-directory: src/bindings/python
|
|
|
|
# layer_tests Flake code-style
|
|
- name: Run flake8 on python tests in openvino/tests/layer_tests
|
|
run: |
|
|
modified_files=$(git diff --name-only)
|
|
for file in $modified_files; do
|
|
if [[ $file == "openvino/tests/layer_tests/"* ]]; then
|
|
if [[ -f "$file" ]]; then
|
|
python -m flake8 "$file" --config= ./setup.cfg
|
|
fi
|
|
fi
|
|
done
|
|
|