[pytorch hash update] update the pinned pytorch hash #65146
This file contains hidden or 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: | |
| pull_request: | |
| branches-ignore: | |
| - nightly | |
| push: | |
| branches: | |
| - main | |
| - release/* | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }} | |
| cancel-in-progress: true | |
| jobs: | |
| get-changed-files: | |
| if: github.repository_owner == 'pytorch' | |
| name: Get changed files | |
| uses: ./.github/workflows/_get-changed-files.yml | |
| lintrunner-mypy: | |
| needs: [get-changed-files] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| if: | | |
| needs.get-changed-files.outputs.changed-files == '*' || | |
| contains(needs.get-changed-files.outputs.changed-files, '.py') || | |
| contains(needs.get-changed-files.outputs.changed-files, '.pyi') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | |
| - name: Checkout torchao submodule | |
| run: git submodule update --init third-party/ao | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| cache: 'pip' | |
| cache-dependency-path: requirements-lintrunner.txt | |
| - name: Install dependencies | |
| run: | | |
| pip install torch --index-url https://download.pytorch.org/whl/cpu | |
| pip install lintrunner==0.12.7 lintrunner-adapters==0.13.0 | |
| pip install -r requirements-lintrunner.txt | |
| USE_CPP=0 pip install --no-build-isolation third-party/ao | |
| pip install pytest numpy parameterized huggingface_hub transformers timm expecttest types-requests | |
| pip install torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu | |
| - name: Generate mypy stubs for C++ bindings | |
| run: | | |
| cp extension/pybindings/pybindings.pyi extension/pybindings/_portable_lib.pyi | |
| - name: Run mypy | |
| run: | | |
| lintrunner init | |
| RC=0 | |
| if ! lintrunner --force-color --all-files --take MYPY --tee-json=lint.json 2> /dev/null; then | |
| echo "" | |
| echo -e "\e[1m\e[36mYou can reproduce these results locally by using \`lintrunner --take MYPY\`. (If you don't get the same results, run \'lintrunner init\' to update your local linter)\e[0m" | |
| echo -e "\e[1m\e[36mSee https://github.com/pytorch/pytorch/wiki/lintrunner for setup instructions.\e[0m" | |
| RC=1 | |
| fi | |
| # Use jq to massage the JSON lint output into GitHub Actions workflow commands. | |
| jq --raw-output \ | |
| '"::\(if .severity == "advice" or .severity == "disabled" then "warning" else .severity end) file=\(.path),line=\(.line),col=\(.char),title=\(.code) \(.name)::" + (.description | gsub("\\n"; "%0A"))' \ | |
| lint.json || true | |
| exit $RC | |
| lintrunner: | |
| needs: [get-changed-files] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| cache: 'pip' | |
| cache-dependency-path: requirements-lintrunner.txt | |
| - name: Install lintrunner and linters | |
| run: | | |
| pip install lintrunner==0.12.7 lintrunner-adapters==0.13.0 | |
| pip install -r requirements-lintrunner.txt | |
| lintrunner init | |
| - name: Run linters | |
| env: | |
| CHANGED_FILES: ${{ needs.get-changed-files.outputs.changed-files }} | |
| run: | | |
| RC=0 | |
| if [ "$CHANGED_FILES" = '*' ]; then | |
| LINTRUNNER_FILES="--all-files" | |
| else | |
| LINTRUNNER_FILES="${CHANGED_FILES}" | |
| fi | |
| if ! lintrunner --force-color ${LINTRUNNER_FILES} --skip MYPY --tee-json=lint.json 2> /dev/null; then | |
| echo "" | |
| echo -e "\e[1m\e[36mYou can reproduce these results locally by using \`lintrunner --skip MYPY\`. (If you don't get the same results, run \'lintrunner init\' to update your local linter)\e[0m" | |
| echo -e "\e[1m\e[36mSee https://github.com/pytorch/pytorch/wiki/lintrunner for setup instructions.\e[0m" | |
| RC=1 | |
| fi | |
| # Use jq to massage the JSON lint output into GitHub Actions workflow commands. | |
| jq --raw-output \ | |
| '"::\(if .severity == "advice" or .severity == "disabled" then "warning" else .severity end) file=\(.path),line=\(.line),col=\(.char),title=\(.code) \(.name)::" + (.description | gsub("\\n"; "%0A"))' \ | |
| lint.json || true | |
| exit $RC | |
| link-check: | |
| uses: ./.github/workflows/_link_check.yml | |
| with: | |
| ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | |
| android-java-format: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: Check Java formatting | |
| run: | | |
| GOOGLE_JAVA_FORMAT_VERSION="1.24.0" | |
| curl -sSfL "https://github.com/google/google-java-format/releases/download/v${GOOGLE_JAVA_FORMAT_VERSION}/google-java-format-${GOOGLE_JAVA_FORMAT_VERSION}-all-deps.jar" \ | |
| -o /tmp/google-java-format.jar | |
| FILES_NEEDS_FORMAT=$(find extension/android/executorch_android/src/main/java/org/pytorch/executorch \ | |
| extension/android/executorch_android/src/main/java/org/pytorch/executorch/extension/llm \ | |
| extension/android/executorch_android/src/main/java/org/pytorch/executorch/annotations \ | |
| extension/android/executorch_android/src/androidTest/java/org/pytorch/executorch \ | |
| extension/benchmark/android/benchmark/app/src/main/java/org/pytorch/minibench \ | |
| extension/benchmark/android/benchmark/app/src/androidTest/java/org/pytorch/minibench \ | |
| -type f -name "*.java" 2>/dev/null | \ | |
| xargs -r java -jar /tmp/google-java-format.jar -n) | |
| if [ -n "$FILES_NEEDS_FORMAT" ]; then | |
| echo "Warning: The following files need formatting:" | |
| echo "$FILES_NEEDS_FORMAT" | |
| echo "" | |
| echo "Please use google-java-format from https://github.com/google/google-java-format/releases/" | |
| echo "" | |
| echo "To fix, run one of these commands:" | |
| echo " # Using xargs (recommended):" | |
| echo " find <paths> -type f -name '*.java' | xargs google-java-format -i" | |
| echo "" | |
| echo " # Or format specific files:" | |
| echo "$FILES_NEEDS_FORMAT" | while IFS= read -r file; do | |
| echo " google-java-format -i \"$file\"" | |
| done | |
| exit 1 | |
| fi |