From e9f4600bd0ec81bb1830e81bf5803eb1eb7835ea Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Fri, 12 Jul 2024 11:06:07 -0500 Subject: [PATCH] ci: Use a container and expand versions Use containers to build/test so it's not restricted to the OS versions supported by Github runners. A few changes are needed to the workflow to support using containers: 1) No need for sudo, so remove it 2) Explicitly install missing zlib 3) Explicitly pass KDIR= while building kernel modules, since it won't match `uname -r`. This assumes the container has just one kernel installed and so /usr/lib/modules/*/build can be used as the single symlink to the kernel headers. This should be common to other distros to be added, too. Signed-off-by: Lucas De Marchi Reviewed-by: Reviewed-by: Emil Velikov Link: https://github.com/kmod-project/kmod/pull/44 --- .github/actions/setup-ubuntu/action.yml | 5 +++-- .github/workflows/main.yml | 11 +++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/actions/setup-ubuntu/action.yml b/.github/actions/setup-ubuntu/action.yml index 554d261..f60cb1d 100644 --- a/.github/actions/setup-ubuntu/action.yml +++ b/.github/actions/setup-ubuntu/action.yml @@ -6,8 +6,8 @@ runs: - name: Install dependencies shell: bash run: | - sudo apt-get update - sudo apt-get install --yes \ + apt-get update + apt-get install --yes \ build-essential \ autoconf \ automake \ @@ -19,4 +19,5 @@ runs: libzstd-dev \ linux-headers-generic \ scdoc \ + zlib1g-dev \ zstd diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fa9c9b9..a9ad289 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,6 +9,13 @@ on: jobs: build: runs-on: ubuntu-latest + strategy: + matrix: + container: ['ubuntu:22.04', 'ubuntu:24.04'] + + container: + image: ${{ matrix.container }} + steps: - uses: actions/checkout@v4 - uses: ./.github/actions/setup-ubuntu @@ -27,7 +34,7 @@ jobs: - name: test run: | cd build - make -j$(nproc) check + make KDIR=/usr/lib/modules/*/build -j$(nproc) check - name: install run: | @@ -37,4 +44,4 @@ jobs: - name: distcheck run: | cd build - make distcheck + make KDIR=/usr/lib/modules/*/build distcheck