* Fixed cycle dependency * Added NCC infra * Add submodule * Added substitution for clang lib * target depends on target_ncc_check * Try find_package(Clang QUIET) * Added github actions * Try U18 + clang9 * Fixed nnc * Updated style * Works for clang-9 * Works for clang-7 * Fixes
93 lines
2.6 KiB
YAML
93 lines
2.6 KiB
YAML
name: Code Style
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
clang-format:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Install clang-format-9
|
|
run: sudo apt --assume-yes install clang-format-9
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt --assume-yes install libusb-1.0-0-dev
|
|
python3 -m pip install --upgrade pip
|
|
python3 -m pip install -r ./inference-engine/ie_bridges/python/requirements.txt
|
|
# Add for -DENABLE_PYTHON=ON, no cython
|
|
python3 -m pip install -r ./inference-engine/ie_bridges/python/src/requirements-dev.txt
|
|
|
|
# Run cmake with -DENABLE_PROFILING_ITT=ON -DSELECTIVE_BUILD=COLLECT in order to enable codestyle check for ITT collector
|
|
- name: CMake
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake -DENABLE_PYTHON=ON -DENABLE_TESTS=ON -DENABLE_PROFILING_ITT=ON -DSELECTIVE_BUILD=COLLECT ..
|
|
|
|
- name: Check code style
|
|
run: cmake --build build --target clang_format_check_all -j8
|
|
|
|
- name: Create code style diff
|
|
if: failure()
|
|
run: |
|
|
cmake --build build --target clang_format_fix_all
|
|
git diff > code_style_diff.diff
|
|
|
|
- uses: actions/upload-artifact@v2
|
|
if: failure()
|
|
with:
|
|
name: code_style_diff
|
|
path: code_style_diff.diff
|
|
|
|
ShellCheck:
|
|
runs-on: ubuntu-18.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Install ShellCheck
|
|
run: sudo apt --assume-yes install shellcheck
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt --assume-yes install libusb-1.0-0-dev
|
|
python3 -m pip install -r ./inference-engine/ie_bridges/python/requirements.txt
|
|
|
|
- name: CMake
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
|
|
- name: ShellCheck
|
|
run: cmake --build . --target ie_shellcheck -j8
|
|
working-directory: build
|
|
|
|
NamingConventionCheck:
|
|
runs-on: ubuntu-18.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Install Clang dependency
|
|
run: sudo apt --assume-yes install libusb-1.0-0-dev libclang-9-dev
|
|
|
|
- name: Install Python-based dependencies
|
|
run: |
|
|
python3 -m pip install pyyaml clang==9.0
|
|
|
|
- name: CMake
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
|
|
- name: Naming convention check
|
|
run: cmake --build . --target ncc_all -j8
|
|
working-directory: build
|