aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2024-01-06 15:20:17 +0000
committerWarner Losh <imp@FreeBSD.org>2024-01-06 23:23:14 +0000
commitdbee52c9d6009539992b19c649cdfb4352921b61 (patch)
tree706d8193c59604811a6f8e4d24eab547eb11b84a /.github/workflows
parente179d9739b1438ae9acb958f80a983eff7e3dce9 (diff)
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/style.yml40
1 files changed, 40 insertions, 0 deletions
diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml
new file mode 100644
index 000000000000..a84d32b65c04
--- /dev/null
+++ b/.github/workflows/style.yml
@@ -0,0 +1,40 @@
+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:
+ push:
+ branches: [ main, 'stable/13', 'stable/14' ]
+ 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: Dump GitHub context
+ env:
+ GITHUB_CONTEXT: ${{ toJson(github) }}
+ run: echo "$GITHUB_CONTEXT"
+ - 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 }}