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