aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/style.yml
blob: a4d5adb90df30d2cb32e98040fccecb077da06b1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
name: Style Checker

# Runs my simple style(9) checker on any pushes or pull requests.  It could be
# optimized by fetching the pull request head branch back to main revisions and
# running on that. That would reduce the run time from 3-4 minutes down to 30-40
# seconds. Getting the right series of clone + fetches to get that iteratively
# is proving elusive, so optimizations welcome.

on:
  pull_request: # maybe pull_request_target
    branches: [ main ]
    types: [ opened, reopened, edited ]

permissions:
  contents: read

jobs:
  build:
    name: Style Checker
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
          ref: ${{ github.event.pull_request.head.sha }}
      - name: Install packages
        run: |
          sudo apt-get update --quiet || true
          sudo apt-get -yq --no-install-suggests --no-install-recommends install perl
      - name: Run checker
        run: |
          sha=$(git merge-base ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }})
          tools/build/checkstyle9.pl ${sha}..${{ github.event.pull_request.head.sha }}