ci: Add Arch Linux OS test

pull/6549/head
Daniel Mensinger 5 years ago committed by Jussi Pakkanen
parent 95de289d0d
commit 71baca7abe
  1. 15
      .github/workflows/os_comp.yml
  2. 4
      ci/ciimage/arch/Dockerfile
  3. 48
      ci/ciimage/arch/install.sh
  4. 0
      ci/ciimage/eoan/Dockerfile

@ -1,10 +1,10 @@
name: OS Compatibility Tests
name: OS Comp Tests
on: [push, pull_request]
jobs:
xenial:
name: Ubuntu 16.04 (xenial)
name: Ubuntu 16.04
runs-on: ubuntu-16.04
steps:
- uses: actions/checkout@v1
@ -25,3 +25,14 @@ jobs:
env:
CI: '1'
XENIAL: '1'
arch:
name: Arch Linux
runs-on: ubuntu-latest
container: mensinda/arch:latest
steps:
- uses: actions/checkout@v1
- name: Run tests
run: ./run_tests.py
env:
CI: '1'

@ -0,0 +1,4 @@
FROM archlinux:latest
ADD install.sh /usr/sbin/docker-arch-install
RUN docker-arch-install

@ -0,0 +1,48 @@
#!/bin/bash
# Inspired by https://github.com/greyltc/docker-archlinux-aur/blob/master/add-aur.sh
pkgs=(
python python-setuptools python-wheel python-pip python-pytest-xdist python-gobject
ninja make git sudo fakeroot autoconf automake patch
libelf gcc gcc-fortran gcc-objc vala rust bison flex cython go dlang-dmd
mono boost qt5-base gtkmm3 gtest gmock protobuf wxgtk gobject-introspection
itstool gtk3 java-environment=8 gtk-doc llvm clang sdl2 graphviz
doxygen vulkan-validation-layers openssh mercurial gtk-sharp-2 qt5-tools
libwmf valgrind cmake netcdf-fortran openmpi nasm gnustep-base gettext
# cuda
)
aur_pkgs=(hotdoc scalapack)
cleanup_pkgs=(go)
AUR_USER=docker
PACMAN_OPTS='--needed --noprogressbar --noconfirm'
# Patch config files
sed -i 's/#Color/Color/g' /etc/pacman.conf
sed -i 's,#MAKEFLAGS="-j2",MAKEFLAGS="-j$(nproc)",g' /etc/makepkg.conf
sed -i "s,PKGEXT='.pkg.tar.xz',PKGEXT='.pkg.tar',g" /etc/makepkg.conf
# Install packages
pacman -Syu $PACMAN_OPTS "${pkgs[@]}"
# Setup the user
useradd -m $AUR_USER
echo "${AUR_USER}:" | chpasswd -e
echo "$AUR_USER ALL = NOPASSWD: ALL" >> /etc/sudoers
# Install yay
su $AUR_USER -c 'cd; git clone https://aur.archlinux.org/yay.git'
su $AUR_USER -c 'cd; cd yay; makepkg'
pushd /home/$AUR_USER/yay/
pacman -U *.pkg.tar --noprogressbar --noconfirm
popd
rm -rf /home/$AUR_USER/yay
# Install yay deps
su $AUR_USER -c "yay -S $PACMAN_OPTS ${aur_pkgs[*]}"
# cleanup
pacman -Rs --noconfirm "${cleanup_pkgs[@]}"
su $AUR_USER -c "yes | yay -Scc"
Loading…
Cancel
Save