99 lines
2.9 KiB
YAML
99 lines
2.9 KiB
YAML
name: Code Style
|
|
on: [pull_request]
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
clang-format:
|
|
runs-on: ubuntu-20.04
|
|
permissions:
|
|
pull-requests: write
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Install clang-format-9
|
|
run: |
|
|
sudo apt update
|
|
sudo apt --assume-yes install clang-format-9
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python3 -m pip install --upgrade pip
|
|
python3 -m pip install -r ./src/bindings/python/requirements.txt
|
|
# Add for -DENABLE_PYTHON=ON, no cython
|
|
python3 -m pip install -r ./src/bindings/python/src/compatibility/openvino/requirements-dev.txt
|
|
|
|
# Run cmake with -DENABLE_PROFILING_ITT=ON -DSELECTIVE_BUILD=COLLECT in order to enable codestyle check for ITT collector
|
|
- name: CMake configure
|
|
run: cmake -DENABLE_PYTHON=ON -DENABLE_TESTS=ON -DENABLE_PROFILING_ITT=ON -DSELECTIVE_BUILD=COLLECT -B build
|
|
|
|
- name: Create code style diff
|
|
run: cmake --build build --target clang_format_fix_all -j8
|
|
|
|
- name: suggester / clang-format
|
|
if: startsWith(github.event_name, 'pull_request')
|
|
uses: reviewdog/action-suggester@v1
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
level: warning
|
|
fail_on_error: true
|
|
|
|
ShellCheck:
|
|
runs-on: ubuntu-22.04
|
|
permissions:
|
|
pull-requests: write
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Install ShellCheck
|
|
run: |
|
|
sudo apt update
|
|
sudo apt --assume-yes install shellcheck
|
|
|
|
- name: CMake configure
|
|
run: cmake -B build
|
|
|
|
- name: Shellcheck cmake target
|
|
run: cmake --build build --target ie_shellcheck -j8
|
|
|
|
# always provide suggestions even for skipped scripts in ie_shellcheck tagret
|
|
- name: ShellCheck action
|
|
if: always()
|
|
uses: reviewdog/action-shellcheck@v1
|
|
with:
|
|
level: style
|
|
reporter: github-pr-review
|
|
check_all_files_with_shebangs: true
|
|
fail_on_error: true
|
|
exclude: |
|
|
"*/thirdparty/*"
|
|
"./temp/*"
|
|
|
|
NamingConventionCheck:
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Install Clang dependency
|
|
run: |
|
|
sudo apt update
|
|
sudo apt --assume-yes remove clang-7 clang-8 clang-9 clang-10 clang-11 clang-12 clang-13
|
|
sudo apt --assume-yes install libclang-14-dev
|
|
|
|
- name: Install Python-based dependencies
|
|
run: python3 -m pip install -r cmake/developer_package/ncc_naming_style/requirements_dev.txt
|
|
|
|
- name: CMake configure
|
|
run: cmake -B build
|
|
|
|
- name: Naming convention check
|
|
run: cmake --build build --target ncc_all -j8
|