From 0efaaa535585cba3a7c75c711e5e2189a6e585b2 Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Fri, 12 Jul 2024 12:06:42 -0500 Subject: [PATCH] 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 Reviewed-by: Reviewed-by: Emil Velikov Link: https://github.com/kmod-project/kmod/pull/44 --- .github/actions/setup-archlinux/action.yml | 20 ++++++++++++++++++++ .github/workflows/main.yml | 6 +++++- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 .github/actions/setup-archlinux/action.yml diff --git a/.github/actions/setup-archlinux/action.yml b/.github/actions/setup-archlinux/action.yml new file mode 100644 index 00000000..10be56b9 --- /dev/null +++ b/.github/actions/setup-archlinux/action.yml @@ -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 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a9ad2892..3f8eaa68 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -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: | -- 2.47.3