ci: Add Archlinux

Add an action to setup Archlinux and use it for the initial setup.
The rest of the workflow can stay the same.

Currently the Arch container in docker hub is not very up-to-date with
some expired keys and other keys not yet in the package. Workaround
that by wiping the current db and reinstalling the keyring. As requested
by Emil, add a comment in this part of the github-action about why
that is done.

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 12:06:42 -05:00
parent e9f4600bd0
commit 0efaaa5355
2 changed files with 25 additions and 1 deletions

View File

@ -0,0 +1,20 @@
name: 'setup Archlinux'
description: 'Setup an Archlinux container for running CI'
runs:
using: 'composite'
steps:
- name: Install dependencies
shell: bash
run: |
# Semi-regularly the packager key may have (temporarily) expired.
# Somewhat robust solution is to wipe the local keyring and
# regenerate/reinstall it prior to any other packages on the system.
rm -rf /etc/pacman.d/gnupg
pacman-key --init
pacman-key --populate
pacman --noconfirm -Sy archlinux-keyring
pacman --noconfirm -Su \
linux-headers \
scdoc \
gtk-doc

View File

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