name: checkstyle

on:
  push:
  pull_request:

jobs:
  checkstyle:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
      with:
        ref: ${{ github.event.pull_request.head.sha }}
    - name: Install dependencies
      run: |
        sudo apt-get update
        sudo apt-get install --yes -qq build-essential autoconf libtool gawk alien fakeroot linux-headers-$(uname -r)
        sudo apt-get install --yes -qq zlib1g-dev uuid-dev libattr1-dev libblkid-dev libselinux-dev libudev-dev libssl-dev python-dev python-setuptools python-cffi python3 python3-dev python3-setuptools python3-cffi
        # packages for tests
        sudo apt-get install --yes -qq parted lsscsi ksh attr acl nfs-kernel-server fio
        sudo apt-get install --yes -qq mandoc cppcheck pax-utils abigail-tools # devscripts - enable then bashisms fixed
        sudo -E pip --quiet install flake8
    - name: Prepare
      run: |
        sh ./autogen.sh
        ./configure
    - name: Checkstyle
      run: |
        make checkstyle
    - name: Lint
      run: |
        make lint
    - name: CheckABI
      run: |
        make -j$(nproc)
        make checkabi