ci: Add Fedora

Add an action to setup latest Fedora and use it for the initial setup.
Add hack on /usr/lib/modules so /usr/lib/modules/*/build can still be
used in the rest of the workflow as the KDIR.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Reviewed-by: Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/44
This commit is contained in:
Lucas De Marchi 2024-07-12 13:12:10 -05:00
parent 0efaaa5355
commit 8c8860021a
2 changed files with 30 additions and 1 deletions

27
.github/actions/setup-fedora/action.yml vendored Normal file
View File

@ -0,0 +1,27 @@
name: 'setup Fedora'
description: 'Setup a Fedora container for running CI'
runs:
using: 'composite'
steps:
- name: Install dependencies
shell: bash
run: |
dnf update -y
dnf install -y \
autoconf \
automake \
make \
gcc \
kernel-devel \
zlib-devel \
xz-devel \
libzstd-devel \
openssl-devel \
gtk-doc \
libtool \
scdoc
# CI builds with KDIR pointing to /usr/lib/modules/*/build
# so just a foo/build pointing to the right place, assuming
# just one kernel installed
mkdir -p /usr/lib/modules/foo/
ln -s /usr/src/kernels/* /usr/lib/modules/foo/build

View File

@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
container: ['ubuntu:22.04', 'ubuntu:24.04', 'archlinux:base-devel']
container: ['ubuntu:22.04', 'ubuntu:24.04', 'archlinux:base-devel', 'fedora:latest']
container:
image: ${{ matrix.container }}
@ -23,6 +23,8 @@ jobs:
if: ${{ startsWith(matrix.container, 'ubuntu') }}
- uses: ./.github/actions/setup-archlinux
if: ${{ startsWith(matrix.container, 'archlinux') }}
- uses: ./.github/actions/setup-fedora
if: ${{ startsWith(matrix.container, 'fedora') }}
- name: configure
run: |