From: Lucas De Marchi Date: Fri, 12 Jul 2024 16:06:07 +0000 (-0500) Subject: ci: Use a container and expand versions X-Git-Tag: v33~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e9f4600bd0ec81bb1830e81bf5803eb1eb7835ea;p=thirdparty%2Fkmod.git 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 --- diff --git a/.github/actions/setup-ubuntu/action.yml b/.github/actions/setup-ubuntu/action.yml index 554d261f..f60cb1de 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 fa9c9b94..a9ad2892 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