63 lines
1.6 KiB
YAML
63 lines
1.6 KiB
YAML
name: Codestyle-Check
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [develop, release/**]
|
|
|
|
jobs:
|
|
check-bypass:
|
|
name: Check bypass
|
|
if: ${{ github.repository_owner == 'PaddlePaddle' }}
|
|
uses: ./.github/workflows/check-bypass.yml
|
|
with:
|
|
workflow-name: "codestyle"
|
|
secrets:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
pre-commit:
|
|
name: Pre Commit
|
|
if: ${{ github.repository_owner == 'PaddlePaddle' && needs.check-bypass.outputs.can-skip != 'true' }}
|
|
needs: [check-bypass]
|
|
runs-on:
|
|
group: APPROVAL
|
|
timeout-minutes: 10
|
|
env:
|
|
PR_ID: ${{ github.event.pull_request.number }}
|
|
BRANCH: develop
|
|
|
|
steps:
|
|
- name: Cleanup
|
|
run: |
|
|
rm -rf * .[^.]*
|
|
- name: Checkout base repo
|
|
uses: actions/checkout@v6
|
|
with:
|
|
ref: ${{ github.event.pull_request.base.ref }}
|
|
fetch-depth: 1000
|
|
|
|
- name: Merge PR to test branch
|
|
run: |
|
|
git fetch origin pull/${PR_ID}/merge
|
|
git checkout -b test FETCH_HEAD
|
|
|
|
- name: Setup python3.12
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: "3.12"
|
|
cache: "pip"
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
pip install pre-commit==2.17.0
|
|
pip install ast-grep-cli==0.44.0 # This version should be consistent with the one in .pre-commit-config.yaml
|
|
|
|
- name: Run ast-grep unit tests
|
|
run: |
|
|
ast-grep test
|
|
|
|
- name: Check pre-commit
|
|
run: |
|
|
set +e
|
|
bash -x tools/codestyle/pre_commit.sh;EXCODE=$?
|
|
exit $EXCODE
|