11 - uses: actions/checkout@v2
13 ref: ${{ github.event.pull_request.head.sha }}
14 - name: Install dependencies
17 sudo xargs --arg-file=${{ github.workspace }}/.github/workflows/build-dependencies.txt apt-get install -qq
18 sudo apt-get install -qq mandoc cppcheck pax-utils devscripts
19 sudo python3 -m pip install --quiet flake8
22 # confirm that the tools are installed
23 # the build system doesn't fail when they are not
24 checkbashisms --version
33 make -j$(nproc) --no-print-directory --silent
36 make -j$(nproc) --no-print-directory --silent checkstyle
39 make -j$(nproc) --no-print-directory --silent lint
43 docker run -v $PWD:/source ghcr.io/openzfs/libabigail make -j$(nproc) --no-print-directory --silent checkabi
45 if: failure() && steps.CheckABI.outcome == 'failure'
47 docker run -v $PWD:/source ghcr.io/openzfs/libabigail make -j$(nproc) --no-print-directory --silent storeabi
48 - name: Prepare artifacts
49 if: failure() && steps.CheckABI.outcome == 'failure'
51 find -name *.abi | tar -cf abi_files.tar -T -
52 - uses: actions/upload-artifact@v2
53 if: failure() && steps.CheckABI.outcome == 'failure'
55 name: New ABI files (use only if you're sure about interface changes)