onnxruntime/.github/workflows/lint.yml
Justin Chu 402e1995f0
Create clang-tidy CI (#12653)
Update clang-tidy config to prepare for creating a CI workflow to run
clang-tidy.
Added clangtidy check in CI

Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
2022-09-30 08:05:38 -07:00

121 lines
3.7 KiB
YAML

name: Lint
on:
push:
branches:
- master
- main
pull_request:
jobs:
lint-python:
name: Lint Python
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: flake8
uses: reviewdog/action-flake8@v3
with:
github_token: ${{ secrets.github_token }}
# Change reviewdog reporter if you need [github-pr-check, github-check, github-pr-review].
reporter: github-pr-check
# Change reporter level if you need.
# GitHub Status Check won't become failure with a warning.
level: error
filter_mode: file
- name: pyflakes
uses: reviewdog/action-pyflakes@v1
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-check
level: warning
- name: misspell # Check spellings as well
uses: reviewdog/action-misspell@v1
with:
github_token: ${{ secrets.github_token }}
locale: "US"
reporter: github-pr-check
level: info
filter_mode: diff_context
- name: shellcheck # Static check shell scripts
uses: reviewdog/action-shellcheck@v1
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-check
level: info
filter_mode: file
- name: pyright
uses: jordemort/action-pyright@v1
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-check
level: warning
filter_mode: added
lib: true
- name: pylint
uses: dciborow/action-pylint@0.0.7
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-check
level: warning
filter_mode: diff_context
glob_pattern: "**/*.py"
lint-python-format:
# Separated black/isort from other Python linters because we want this job to
# fail and not affect other linters
name: Python format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: "3.10"
- uses: psf/black@stable
with:
options: "--check --diff --color"
- uses: isort/isort-action@master
lint-cpp:
name: Lint C++
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Install ninja
run: python -m pip install --upgrade ninja
- name: Generate compile_commands.json
run: |
python tools/ci_build/build.py \
--cmake_generator "Ninja" \
--build_dir build \
--update \
--cmake_extra_defines CMAKE_EXPORT_COMPILE_COMMANDS=ON
- name: Generate ONNX protobuf files
run: cmake --build build/Debug --config Debug --target onnx_proto
- name: Run clang-tidy
uses: ZedThree/clang-tidy-review@526cbfb043719639f1ebdeedae0cc1eacd219d8f
with:
token: ${{ secrets.github_token }}
build_dir: "build/Debug"
config_file: ".clang-tidy"
lgtm_comment_body: ""
- uses: reviewdog/action-cpplint@master
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-check
level: warning
flags: --linelength=120 --exclude=java/src/main/native/*.c
filter: "-runtime/references"
lint-js:
name: Lint JavaScript
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: reviewdog/action-eslint@v1
with:
reporter: github-pr-check
level: error
filter_mode: file
eslint_flags: "--ext .ts --ext .tsx"
workdir: "js/"