From: Lucas De Marchi Date: Fri, 12 Jul 2024 18:12:10 +0000 (-0500) Subject: ci: Add Fedora X-Git-Tag: v33~18 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8c8860021aa6b84c3e81851c5e5494a78fc27a25;p=thirdparty%2Fkmod.git 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 Reviewed-by: Reviewed-by: Emil Velikov Link: https://github.com/kmod-project/kmod/pull/44 --- diff --git a/.github/actions/setup-fedora/action.yml b/.github/actions/setup-fedora/action.yml new file mode 100644 index 00000000..a2612e46 --- /dev/null +++ b/.github/actions/setup-fedora/action.yml @@ -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 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3f8eaa68..4a2fff2e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -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: |