mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-14 20:48:00 +00:00
### Description * Update python version metadata to be in sync with latest python packages (onnxruntime, onnxruntime-gpu and onnxruntime-qnn). * Update black format target-version to 3.10, and use lintrunner to format all files. * Update the lintrunner installation command line to be consistent. * Include `requirements-lintrunner.txt` in `requirements-dev.txt` to avoid duplicated settings. ### Motivation and Context https://github.com/microsoft/onnxruntime/issues/22993 Python support by numpy: https://numpy.org/neps/nep-0029-deprecation_policy.html#drop-schedule ``` On Apr 05, 2024 drop support for Python 3.9 On Apr 04, 2025 drop support for Python 3.10 ```
139 lines
4.5 KiB
YAML
139 lines
4.5 KiB
YAML
name: Lint
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- rel-*
|
|
pull_request:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name == 'workflow_dispatch' }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
optional-lint:
|
|
name: Optional Lint
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- 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
|
|
|
|
lint-python-format:
|
|
# Required workflow
|
|
name: Python format
|
|
runs-on: ["self-hosted", "1ES.Pool=onnxruntime-github-Ubuntu2204-AMD-CPU"]
|
|
permissions:
|
|
contents: read
|
|
security-events: write
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
# Use the version configured in target-version of [tool.black] section in pyproject.toml.
|
|
python-version: "3.10"
|
|
- name: Setup Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
components: rustfmt
|
|
- name: Update PATH
|
|
run: |
|
|
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
|
|
- name: Install dependencies
|
|
run: |
|
|
set -e -x
|
|
python -m pip install --user -r requirements-dev.txt
|
|
lintrunner init
|
|
- name: Run lintrunner on all files
|
|
run: |
|
|
set +e
|
|
if ! lintrunner --force-color --all-files --tee-json=lint.json -v; then
|
|
echo ""
|
|
echo -e "\e[1m\e[36mYou can reproduce these results locally by using \`lintrunner\`. To set up lintrunner locally, see https://github.com/microsoft/onnxruntime/blob/main/docs/Coding_Conventions_and_Standards.md#linting .\e[0m"
|
|
exit 1
|
|
fi
|
|
- name: Produce SARIF
|
|
if: always()
|
|
run: |
|
|
python -m lintrunner_adapters to-sarif lint.json lintrunner.sarif
|
|
- name: Upload SARIF file
|
|
if: always()
|
|
continue-on-error: true
|
|
uses: github/codeql-action/upload-sarif@v3
|
|
with:
|
|
# Path to SARIF file relative to the root of the repository
|
|
sarif_file: lintrunner.sarif
|
|
category: lintrunner
|
|
checkout_path: ${{ github.workspace }}
|
|
|
|
lint-cpp:
|
|
name: Optional Lint C++
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- name: Update PATH
|
|
run: |
|
|
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
|
|
|
|
- name: Install ninja
|
|
run: python -m pip install --user --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
|
|
- uses: reviewdog/action-cpplint@master
|
|
continue-on-error: true
|
|
with:
|
|
github_token: ${{ secrets.github_token }}
|
|
reporter: github-pr-check
|
|
level: info
|
|
flags: --linelength=120
|
|
--exclude=java/src/main/native/*.c
|
|
--exclude=onnxruntime/core/mlas/inc/*
|
|
--exclude=onnxruntime/core/mlas/lib/*
|
|
--exclude=onnxruntime/contrib_ops/cuda/bert/flash_attention/*
|
|
--exclude=build/Debug/*
|
|
--exclude=cmake/*
|
|
--exclude=csharp/test/*
|
|
--exclude=onnxruntime/core/providers/dml/DmlExecutionProvider/src/Operators/GeneratedShaders/*
|
|
--exclude=orttraining/orttraining/test/*
|
|
--exclude=onnxruntime/test/*
|
|
--exclude=winml/*
|
|
filter: "-runtime/references"
|
|
|
|
lint-js:
|
|
name: Lint JavaScript
|
|
runs-on: ["self-hosted", "1ES.Pool=onnxruntime-github-Ubuntu2204-AMD-CPU"]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
- uses: reviewdog/action-eslint@v1
|
|
with:
|
|
reporter: github-pr-check
|
|
level: error
|
|
filter_mode: file
|
|
eslint_flags: "--ext .ts --ext .tsx"
|
|
workdir: "js/"
|