automation: Add Arch Linux container and build jobs
authorAnthony PERARD <anthony.perard@citrix.com>
Wed, 3 Apr 2019 17:33:58 +0000 (18:33 +0100)
committerWei Liu <wei.liu2@citrix.com>
Thu, 4 Apr 2019 09:57:35 +0000 (10:57 +0100)
One particularity of Arch Linux, /usr/bin/python is python3.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Doug Goldstein <cardoe@cardoe.com>
automation/build/archlinux/current.dockerfile [new file with mode: 0644]
automation/gitlab-ci/build.yaml
automation/scripts/containerize

diff --git a/automation/build/archlinux/current.dockerfile b/automation/build/archlinux/current.dockerfile
new file mode 100644 (file)
index 0000000..9af5d66
--- /dev/null
@@ -0,0 +1,52 @@
+FROM archlinux/base
+LABEL maintainer.name="The Xen Project" \
+      maintainer.email="xen-devel@lists.xenproject.org"
+
+# Enable multilib repo, for dev86 package
+RUN echo $'[multilib]\nInclude = /etc/pacman.d/mirrorlist' >> /etc/pacman.conf
+
+RUN pacman -S --refresh --sysupgrade --noconfirm --noprogressbar --needed \
+        base-devel \
+        bin86 \
+        bridge-utils \
+        bzip2 \
+        dev86 \
+        dtc \
+        e2fsprogs \
+        ghostscript \
+        git \
+        gnutls \
+        iasl \
+        inetutils \
+        iproute \
+        libaio \
+        libcacard \
+        libgl \
+        libjpeg-turbo \
+        libnl \
+        libpng \
+        libseccomp \
+        markdown \
+        net-tools \
+        nss \
+        perl \
+        pixman \
+        pkgconfig \
+        python \
+        sdl \
+        sdl2 \
+        spice \
+        spice-protocol \
+        systemd \
+        transfig \
+        usbredir \
+        wget \
+        xz \
+        yajl \
+        zlib
+
+ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
+
+RUN useradd --create-home user
+USER user
+WORKDIR /build
index b70797e82de358f9d60f4a890d6d6866b046c537..c29a76e9ffce749ac5157aaca1150c5f43b9bdab 100644 (file)
 
 # Jobs below this line
 
+archlinux-gcc:
+  extends: .gcc-x86-64-build
+  variables:
+    CONTAINER: archlinux:current
+
+archlinux-gcc-debug:
+  extends: .gcc-x86-64-build-debug
+  variables:
+    CONTAINER: archlinux:current
+
 centos-7-2-gcc:
   extends: .gcc-x86-64-build
   variables:
index 09d130bbd65a881dd5a540fe95c8050ef80b823a..01c44da93cd120a24da05f9a6f614d98cad7bced 100755 (executable)
@@ -15,6 +15,7 @@ die() {
 #
 BASE="registry.gitlab.com/xen-project/xen"
 case "_${CONTAINER}" in
+    _archlinux|_arch) CONTAINER="${BASE}/archlinux:current" ;;
     _centos6) CONTAINER="${BASE}/centos:6" ;;
     _centos7) CONTAINER="${BASE}/centos:7" ;;
     _centos72) CONTAINER="${BASE}/centos:7.2" ;;