123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- name: Lint
- on:
- pull_request:
- push:
- branches:
- - nightly
- - main
- - release/*
- workflow_dispatch:
- jobs:
- python-source-and-configs:
- uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.1
- with:
- repository: pytorch/vision
- script: |
- set -euo pipefail
- echo '::group::Setup environment'
- CONDA_PATH=$(which conda)
- eval "$(${CONDA_PATH} shell.bash hook)"
- conda create --name ci --quiet --yes python=3.8 pip
- conda activate ci
- echo '::endgroup::'
- echo '::group::Install lint tools'
- pip install --progress-bar=off pre-commit
- echo '::endgroup::'
- set +e
- pre-commit run --all-files
- if [ $? -ne 0 ]; then
- git --no-pager diff
- exit 1
- fi
- c-source:
- uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.1
- with:
- repository: pytorch/vision
- script: |
- set -euo pipefail
- echo '::group::Setup environment'
- CONDA_PATH=$(which conda)
- eval "$(${CONDA_PATH} shell.bash hook)"
- # clang-format needs some shared libraries that conflict with the system ones. Thus, we install them from conda
- # and prepend the libraries to linker path to prioritize them. `ncurses=5` is only available on the conda-forge
- # channel. Since we are not building or testing here, this is fine.
- conda create --name ci --quiet --yes -c conda-forge python=3.8 ncurses=5 libgcc
- conda activate ci
- export LD_LIBRARY_PATH="${CONDA_PREFIX}/lib:${LD_LIBRARY_PATH}"
- echo '::endgroup::'
- echo '::group::Install lint tools'
- curl https://oss-clang-format.s3.us-east-2.amazonaws.com/linux64/clang-format-linux64 -o ./clang-format
- chmod +x ./clang-format
- echo '::endgroup::'
- echo '::group::Lint C source'
- set +e
- ./.github/scripts/run-clang-format.py -r torchvision/csrc --clang-format-executable ./clang-format
- if [ $? -ne 0 ]; then
- git --no-pager diff
- exit 1
- fi
- echo '::endgroup::'
- python-types:
- uses: pytorch/test-infra/.github/workflows/linux_job.yml@release/2.1
- with:
- repository: pytorch/vision
- script: |
- set -euo pipefail
- export PYTHON_VERSION=3.8
- export GPU_ARCH_TYPE=cpu
- export GPU_ARCH_VERSION=''
- ./.github/scripts/setup-env.sh
- CONDA_PATH=$(which conda)
- eval "$(${CONDA_PATH} shell.bash hook)"
- conda activate ci
- echo '::group::Install lint tools'
- pip install --progress-bar=off mypy
- echo '::endgroup::'
- echo '::group::Lint Python types'
- mypy --install-types --non-interactive --config-file mypy.ini
- echo '::endgroup::'
- bc:
- if: github.event.pull_request
- runs-on: ubuntu-latest
- steps:
- - name: Run BC Lint Action
- uses: pytorch/test-infra/.github/actions/bc-lint@release/2.1
- with:
- repo: ${{ github.event.pull_request.head.repo.full_name }}
- base_sha: ${{ github.event.pull_request.base.sha }}
- head_sha: ${{ github.event.pull_request.head.sha }}
|