Skip to content

Measuring kernel comparison time #396

Measuring kernel comparison time

Measuring kernel comparison time #396

Workflow file for this run

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/ "
"