Build DML in Windows GPU CI pipeline (#22869) #36867
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: | |
# Version range or exact version of Python to use, using SemVer's version range syntax. Reads from .python-version if unset. | |
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 | |
python -m pip install --user lintrunner lintrunner-adapters | |
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/" |