[libvirt PATCH] Add Alpine builds to CI

Martin Kletzander posted 1 patch 2 years, 1 month ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/b41d5ea5c36bcd4faf1259766671c3e65a2aa935.1647342889.git.mkletzan@redhat.com
ci/containers/alpine-314.Dockerfile  | 82 ++++++++++++++++++++++++++++
ci/containers/alpine-edge.Dockerfile | 81 +++++++++++++++++++++++++++
ci/gitlab.yml                        | 35 +++++++++++-
ci/manifest.yml                      |  8 +++
4 files changed, 204 insertions(+), 2 deletions(-)
create mode 100644 ci/containers/alpine-314.Dockerfile
create mode 100644 ci/containers/alpine-edge.Dockerfile
[libvirt PATCH] Add Alpine builds to CI
Posted by Martin Kletzander 2 years, 1 month ago
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
---
 ci/containers/alpine-314.Dockerfile  | 82 ++++++++++++++++++++++++++++
 ci/containers/alpine-edge.Dockerfile | 81 +++++++++++++++++++++++++++
 ci/gitlab.yml                        | 35 +++++++++++-
 ci/manifest.yml                      |  8 +++
 4 files changed, 204 insertions(+), 2 deletions(-)
 create mode 100644 ci/containers/alpine-314.Dockerfile
 create mode 100644 ci/containers/alpine-edge.Dockerfile

diff --git a/ci/containers/alpine-314.Dockerfile b/ci/containers/alpine-314.Dockerfile
new file mode 100644
index 000000000000..4ca35a949bda
--- /dev/null
+++ b/ci/containers/alpine-314.Dockerfile
@@ -0,0 +1,82 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+FROM docker.io/library/alpine:3.14
+
+RUN apk update && \
+    apk upgrade && \
+    apk add \
+        acl-dev \
+        attr-dev \
+        audit-dev \
+        augeas \
+        bash-completion \
+        ca-certificates \
+        ccache \
+        ceph-dev \
+        clang \
+        curl-dev \
+        cyrus-sasl-dev \
+        diffutils \
+        dnsmasq \
+        eudev-dev \
+        fuse-dev \
+        gcc \
+        gettext \
+        git \
+        glib-dev \
+        gnutls-dev \
+        grep \
+        iproute2 \
+        iptables \
+        kmod \
+        libcap-ng-dev \
+        libnl3-dev \
+        libpcap-dev \
+        libpciaccess-dev \
+        libselinux-dev \
+        libssh-dev \
+        libssh2-dev \
+        libtirpc-dev \
+        libxml2-dev \
+        libxml2-utils \
+        libxslt \
+        lvm2 \
+        lvm2-dev \
+        make \
+        meson \
+        musl-dev \
+        netcf-dev \
+        nfs-utils \
+        numactl-dev \
+        open-iscsi \
+        parted-dev \
+        perl \
+        pkgconf \
+        polkit \
+        py3-docutils \
+        py3-flake8 \
+        python3 \
+        qemu-img \
+        readline-dev \
+        rpcgen \
+        samurai \
+        sed \
+        util-linux-dev \
+        wireshark-dev \
+        xen-dev \
+        yajl-dev && \
+    apk list | sort > /packages.txt && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
+
+ENV LANG "en_US.UTF-8"
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/ci/containers/alpine-edge.Dockerfile b/ci/containers/alpine-edge.Dockerfile
new file mode 100644
index 000000000000..d171ed1be77d
--- /dev/null
+++ b/ci/containers/alpine-edge.Dockerfile
@@ -0,0 +1,81 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+#  $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+FROM docker.io/library/alpine:edge
+
+RUN apk update && \
+    apk upgrade && \
+    apk add \
+        acl-dev \
+        attr-dev \
+        audit-dev \
+        augeas \
+        bash-completion \
+        ca-certificates \
+        ccache \
+        ceph-dev \
+        clang \
+        curl-dev \
+        cyrus-sasl-dev \
+        diffutils \
+        dnsmasq \
+        eudev-dev \
+        fuse-dev \
+        gcc \
+        gettext \
+        git \
+        glib-dev \
+        gnutls-dev \
+        grep \
+        iproute2 \
+        iptables \
+        kmod \
+        libcap-ng-dev \
+        libnl3-dev \
+        libpcap-dev \
+        libpciaccess-dev \
+        libselinux-dev \
+        libssh-dev \
+        libssh2-dev \
+        libtirpc-dev \
+        libxml2-dev \
+        libxml2-utils \
+        libxslt \
+        lvm2 \
+        lvm2-dev \
+        make \
+        meson \
+        musl-dev \
+        netcf-dev \
+        nfs-utils \
+        numactl-dev \
+        open-iscsi \
+        parted-dev \
+        perl \
+        pkgconf \
+        polkit \
+        py3-docutils \
+        py3-flake8 \
+        python3 \
+        qemu-img \
+        readline-dev \
+        samurai \
+        sed \
+        util-linux-dev \
+        wireshark-dev \
+        xen-dev \
+        yajl-dev && \
+    apk list | sort > /packages.txt && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
+
+ENV LANG "en_US.UTF-8"
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/ci/gitlab.yml b/ci/gitlab.yml
index cc03a2fe49f8..a19ec2a23f09 100644
--- a/ci/gitlab.yml
+++ b/ci/gitlab.yml
@@ -10,8 +10,7 @@
   stage: containers
   needs: []
   services:
-    - name: registry.gitlab.com/libvirt/libvirt-ci/docker-dind:master
-      alias: docker
+    - docker:dind
   before_script:
     - export TAG="$CI_REGISTRY_IMAGE/ci-$NAME:latest"
     - export COMMON_TAG="$CI_REGISTRY/libvirt/libvirt/ci-$NAME:latest"
@@ -87,6 +86,20 @@ x86_64-almalinux-8-container:
     NAME: almalinux-8
 
 
+x86_64-alpine-314-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: alpine-314
+
+
+x86_64-alpine-edge-container:
+  extends: .container_job
+  allow_failure: false
+  variables:
+    NAME: alpine-edge
+
+
 x86_64-centos-stream-8-container:
   extends: .container_job
   allow_failure: false
@@ -400,6 +413,24 @@ x86_64-almalinux-8-clang:
     RPM: skip
 
 
+x86_64-alpine-314:
+  extends: .native_build_job
+  needs:
+    - x86_64-alpine-314-container
+  allow_failure: false
+  variables:
+    NAME: alpine-314
+
+
+x86_64-alpine-edge:
+  extends: .native_build_job
+  needs:
+    - x86_64-alpine-edge-container
+  allow_failure: false
+  variables:
+    NAME: alpine-edge
+
+
 x86_64-centos-stream-8:
   extends: .native_build_job
   needs:
diff --git a/ci/manifest.yml b/ci/manifest.yml
index 87d923ae7839..26704bef2362 100644
--- a/ci/manifest.yml
+++ b/ci/manifest.yml
@@ -18,6 +18,14 @@ targets:
           RPM: skip
           CC: clang
 
+  alpine-314:
+    jobs:
+      - arch: x86_64
+
+  alpine-edge:
+    jobs:
+      - arch: x86_64
+
   centos-stream-8:
     jobs:
       - arch: x86_64
-- 
2.35.1
Re: [libvirt PATCH] Add Alpine builds to CI
Posted by Erik Skultety 2 years, 1 month ago
On Tue, Mar 15, 2022 at 12:15:03PM +0100, Martin Kletzander wrote:
> Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
> ---
>  ci/containers/alpine-314.Dockerfile  | 82 ++++++++++++++++++++++++++++
>  ci/containers/alpine-edge.Dockerfile | 81 +++++++++++++++++++++++++++
>  ci/gitlab.yml                        | 35 +++++++++++-
>  ci/manifest.yml                      |  8 +++
>  4 files changed, 204 insertions(+), 2 deletions(-)
>  create mode 100644 ci/containers/alpine-314.Dockerfile
>  create mode 100644 ci/containers/alpine-edge.Dockerfile
> 
...

> diff --git a/ci/gitlab.yml b/ci/gitlab.yml
> index cc03a2fe49f8..a19ec2a23f09 100644
> --- a/ci/gitlab.yml
> +++ b/ci/gitlab.yml
> @@ -10,8 +10,7 @@
>    stage: containers
>    needs: []
>    services:
> -    - name: registry.gitlab.com/libvirt/libvirt-ci/docker-dind:master
> -      alias: docker
> +    - docker:dind
>    before_script:
>      - export TAG="$CI_REGISTRY_IMAGE/ci-$NAME:latest"
>      - export COMMON_TAG="$CI_REGISTRY/libvirt/libvirt/ci-$NAME:latest"
> @@ -87,6 +86,20 @@ x86_64-almalinux-8-container:
>      NAME: almalinux-8

^This should be a separate commit.

...

> diff --git a/ci/manifest.yml b/ci/manifest.yml
> index 87d923ae7839..26704bef2362 100644
> --- a/ci/manifest.yml
> +++ b/ci/manifest.yml
> @@ -18,6 +18,14 @@ targets:
>            RPM: skip
>            CC: clang
>  
> +  alpine-314:
> +    jobs:
> +      - arch: x86_64
> +
> +  alpine-edge:
> +    jobs:
> +      - arch: x86_64

Alpine Edge is flaky so you need to mark it as 'allow_failure' here.

With those bits addressed:
Reviewed-by: Erik Skultety <eskultet@redhat.com>

> +
>    centos-stream-8:
>      jobs:
>        - arch: x86_64
> -- 
> 2.35.1
>
Re: [libvirt PATCH] Add Alpine builds to CI
Posted by Martin Kletzander 2 years, 1 month ago
On Tue, Mar 15, 2022 at 12:15:03PM +0100, Martin Kletzander wrote:
>Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
>---
> ci/containers/alpine-314.Dockerfile  | 82 ++++++++++++++++++++++++++++
> ci/containers/alpine-edge.Dockerfile | 81 +++++++++++++++++++++++++++
> ci/gitlab.yml                        | 35 +++++++++++-
> ci/manifest.yml                      |  8 +++
> 4 files changed, 204 insertions(+), 2 deletions(-)
> create mode 100644 ci/containers/alpine-314.Dockerfile
> create mode 100644 ci/containers/alpine-edge.Dockerfile
>
>diff --git a/ci/gitlab.yml b/ci/gitlab.yml
>index cc03a2fe49f8..a19ec2a23f09 100644
>--- a/ci/gitlab.yml
>+++ b/ci/gitlab.yml
>@@ -10,8 +10,7 @@
>   stage: containers
>   needs: []
>   services:
>-    - name: registry.gitlab.com/libvirt/libvirt-ci/docker-dind:master
>-      alias: docker
>+    - docker:dind

Oops, I did not notice this before sending, not sure if we can switch
back already, just let me know if I should remove this before (eventual)
pushing, but the build works for me.
Re: [libvirt PATCH] Add Alpine builds to CI
Posted by Erik Skultety 2 years, 1 month ago
On Tue, Mar 15, 2022 at 12:33:31PM +0100, Martin Kletzander wrote:
> On Tue, Mar 15, 2022 at 12:15:03PM +0100, Martin Kletzander wrote:
> > Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
> > ---
> > ci/containers/alpine-314.Dockerfile  | 82 ++++++++++++++++++++++++++++
> > ci/containers/alpine-edge.Dockerfile | 81 +++++++++++++++++++++++++++
> > ci/gitlab.yml                        | 35 +++++++++++-
> > ci/manifest.yml                      |  8 +++
> > 4 files changed, 204 insertions(+), 2 deletions(-)
> > create mode 100644 ci/containers/alpine-314.Dockerfile
> > create mode 100644 ci/containers/alpine-edge.Dockerfile
> > 
> > diff --git a/ci/gitlab.yml b/ci/gitlab.yml
> > index cc03a2fe49f8..a19ec2a23f09 100644
> > --- a/ci/gitlab.yml
> > +++ b/ci/gitlab.yml
> > @@ -10,8 +10,7 @@
> >   stage: containers
> >   needs: []
> >   services:
> > -    - name: registry.gitlab.com/libvirt/libvirt-ci/docker-dind:master
> > -      alias: docker
> > +    - docker:dind
> 
> Oops, I did not notice this before sending, not sure if we can switch
> back already, just let me know if I should remove this before (eventual)
> pushing, but the build works for me.

This was discussed here [1] and the only important bit was to keep the
container itself around for non-master branches, so, yes, we should be able to
make the switch - I posted the change as part of my patches yesterday as well
:).

Erik