mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-28 03:49:38 +03:00
eed2bfe06a
Extend the CI checkstyle workflow to perform the library ABI checks in the master branch. The intent is not to prevent any ABI changes but to detect them immediately so when they're made it's done intentionally. When the changing the ABI the `make storeabi` target can be used to generate a new .abi file which can be included with the commit. This depends on the libabigail utility which is available from the majority of distribution package managers. Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #11287
37 lines
1.1 KiB
YAML
37 lines
1.1 KiB
YAML
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 devscripts abigail-tools
|
|
sudo -E pip --quiet install flake8
|
|
- name: Prepare
|
|
run: |
|
|
sh ./autogen.sh
|
|
./configure
|
|
make -j$(nproc)
|
|
- name: Checkstyle
|
|
run: |
|
|
make checkstyle
|
|
- name: Lint
|
|
run: |
|
|
make lint
|
|
- name: CheckABI
|
|
run: |
|
|
make checkabi
|