55 lines
1.8 KiB
YAML
55 lines
1.8 KiB
YAML
name: Lint
|
|
|
|
on: [pull_request]
|
|
|
|
jobs:
|
|
lintrunner:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Pull DGL
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Checkout master and HEAD
|
|
run: |
|
|
git checkout -t origin/master
|
|
git checkout ${{ github.event.pull_request.head.sha }}
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.8'
|
|
|
|
- name: Install requirements
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install lintrunner --user
|
|
|
|
- name: Initialize lint dependencies
|
|
run: lintrunner init
|
|
|
|
- name: Run lintrunner on all changed files
|
|
run: |
|
|
set +e
|
|
if ! lintrunner --force-color -m master --tee-json=lint.json; then
|
|
echo ""
|
|
echo -e "\e[1m\e[36mYou can reproduce these results locally by using \`lintrunner\`.\e[0m"
|
|
echo -e "\e[1m\e[36mSee https://github.com/pytorch/pytorch/wiki/lintrunner for setup instructions.\e[0m"
|
|
exit 1
|
|
fi
|
|
|
|
- name: Store annotations
|
|
if: always() && github.event_name == 'pull_request'
|
|
# Don't show this as an error; the above step will have already failed.
|
|
continue-on-error: true
|
|
run: |
|
|
# 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
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }}
|
|
cancel-in-progress: true
|