name: Checkpatch upon push

on:
  push:
    branches:
      - master

jobs:
  checkpatch:
    name: ${{matrix.commit.message}}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        commit: ${{github.event.commits}}
    steps:
      - name: Checkout code
        uses: actions/checkout@main
        with:
          ref: ${{matrix.commit.id}}
          fetch-depth: 2

      - name: Download checkpatch.pl
        run: |
          curl https://raw.githubusercontent.com/torvalds/linux/master/scripts/checkpatch.pl -o checkpatch.pl
          curl https://raw.githubusercontent.com/torvalds/linux/master/scripts/spelling.txt -o spelling.txt
          curl https://raw.githubusercontent.com/torvalds/linux/master/scripts/const_structs.checkpatch -o const_structs.checkpatch
          chmod +x checkpatch.pl

      - name: Run checkpatch.pl
        run: |
          git format-patch -1 --stdout | CHECKPATCH_PATH=. ./scripts/checkpatch
