Measuring kernel comparison time #396
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
env: | |
KERNELS: > | |
3.10.0-514.el7 | |
3.10.0-693.el7 | |
3.10.0-862.el7 | |
3.10.0-957.el7 | |
4.18.0-80.el8 | |
4.18.0-147.el8 | |
4.18.0-193.el8 | |
4.18.0-240.el8 | |
3.10 | |
4.11 | |
jobs: | |
build-and-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: DeterminateSystems/nix-installer-action@v10 | |
- uses: DeterminateSystems/magic-nix-cache-action@v4 | |
- name: Delete unused software | |
# This is necessary for running CScope database build as it takes | |
# a lot of disk space and the runners die silently when out of space. | |
run: | | |
sudo rm -rf /usr/local/lib/android | |
sudo rm -rf /usr/share/dotnet | |
sudo rm -rf /opt/ghc | |
sudo rm -rf /opt/hostedtoolcache/CodeQL | |
- name: Download Kernel for Unit Tests | |
run: | |
nix develop .#test-kernel-buildenv --command bash -c \ | |
"echo D80 && | |
time rhel-kernel-get time 4.18.0-80.el8 --output-dir kernel && | |
echo SIZE80 && | |
du -hs kernel/linux-4.18.0-80.el8/ | |
echo D147 && | |
time rhel-kernel-get time 4.18.0-147.el8 --output-dir kernel && | |
echo SIZE147 && | |
du -hs kernel/linux-4.18.0-80.el8/ " | |
- name: Prepare Build Environment | |
run: | | |
mkdir -p ${{ github.workspace }}/build | |
- name: Configure and Build | |
run: > | |
nix develop .#diffkemp-llvm17 --command bash -c | |
"cmake -B build ${{ github.workspace }} -GNinja && | |
ninja -C build" | |
- name: Run snapshot generation and comparison | |
run: > | |
nix develop .#diffkemp-llvm17 --command bash -c | |
"setuptoolsShellHook && | |
mkdir -p snapshots && | |
echo 'SG 80' && | |
time bin/diffkemp build-kernel kernel/linux-4.18.0-80.el8/ snapshots/linux-4.18.0-80.el8 kernel/linux-4.18.0-80.el8/kabi_whitelist_x86_64 && | |
echo SIZE80 && | |
du -hs snapshots/linux-4.18.0-80.el8/ " | |
echo 'SG 147' && | |
time bin/diffkemp build-kernel kernel/linux-4.18.0-147.el8/ snapshots/linux-4.18.0-147.el8 kernel/linux-4.18.0-147.el8/kabi_whitelist_x86_64 && | |
echo SIZE147 && | |
du -hs snapshots/linux-4.18.0-80.el8/ " | |
echo 'SC 80-147' && | |
time bin/diffkemp compare snapshots/linux-4.18.0-80.el8 snapshots/linux-4.18.0-147.el8/ " | |
" |