From: Lucas De Marchi Date: Fri, 12 Jul 2024 17:06:42 +0000 (-0500) Subject: ci: Add Archlinux X-Git-Tag: v33~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0efaaa535585cba3a7c75c711e5e2189a6e585b2;p=thirdparty%2Fkmod.git 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 --- 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: |