1name: Style Checker 2 3# Runs my simple style(9) checker on any pushes or pull requests. It could be 4# optimized by fetching the pull request head branch back to main revisions and 5# running on that. That would reduce the run time from 3-4 minutes down to 30-40 6# seconds. Getting the right series of clone + fetches to get that iteratively 7# is proving elusive, so optimizations welcome. 8 9on: 10 pull_request: # maybe pull_request_target 11 branches: [ main ] 12 types: [ opened, reopened, edited, synchronize ] 13 14permissions: 15 contents: read 16 17jobs: 18 build: 19 name: Style Checker 20 runs-on: ubuntu-latest 21 steps: 22 - name: checkout 23 uses: actions/checkout@v4 24 with: 25 fetch-depth: 0 26 ref: ${{ github.event.pull_request.head.sha }} 27 - name: Install packages 28 run: | 29 sudo apt-get update --quiet || true 30 sudo apt-get -yq --no-install-suggests --no-install-recommends install perl 31 - name: Run checker 32 run: | 33 sha=$(git merge-base ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }}) 34 tools/build/checkstyle9.pl --github ${sha}..${{ github.event.pull_request.head.sha }} 35