11 - uses: actions/checkout@v3
13 ref: ${{ github.event.pull_request.head.sha }}
14 - name: Install dependencies
16 # https://github.com/orgs/community/discussions/47863
17 sudo apt-mark hold grub-efi-amd64-signed
18 sudo apt-get update --fix-missing
20 sudo xargs --arg-file=${{ github.workspace }}/.github/workflows/build-dependencies.txt apt-get install -qq
21 sudo xargs --arg-file=${{ github.workspace }}/.github/workflows/checkstyle-dependencies.txt apt-get install -qq
22 sudo python3 -m pip install --quiet flake8
25 # confirm that the tools are installed
26 # the build system doesn't fail when they are not
27 checkbashisms --version
36 make -j$(nproc) --no-print-directory --silent
39 make -j$(nproc) --no-print-directory --silent checkstyle
42 make -j$(nproc) --no-print-directory --silent lint
46 docker run -v $PWD:/source ghcr.io/openzfs/libabigail make -j$(nproc) --no-print-directory --silent checkabi
48 if: failure() && steps.CheckABI.outcome == 'failure'
50 docker run -v $PWD:/source ghcr.io/openzfs/libabigail make -j$(nproc) --no-print-directory --silent storeabi
51 - name: Prepare artifacts
52 if: failure() && steps.CheckABI.outcome == 'failure'
54 find -name *.abi | tar -cf abi_files.tar -T -
55 - uses: actions/upload-artifact@v3
56 if: failure() && steps.CheckABI.outcome == 'failure'
58 name: New ABI files (use only if you're sure about interface changes)