[libvirt] [jenkins-ci PATCH v2 0/3] Add libvirt-ocaml

Now that the libvirt-ocaml repository is fixed, let's build it in CI. Changes from v1 to v2: - split according to Andrea's hints - removed --with-libvirt as argument for configure, no more needed after upstream changes Pino Toscano (3): guests: add mappings for OCaml components guests: pull dependencies for libvirt-ocaml Add libvirt-ocaml project guests/host_vars/libvirt-centos-7/main.yml | 1 + guests/host_vars/libvirt-debian-9/main.yml | 1 + guests/host_vars/libvirt-debian-sid/main.yml | 1 + guests/host_vars/libvirt-fedora-27/main.yml | 1 + guests/host_vars/libvirt-fedora-28/main.yml | 1 + .../host_vars/libvirt-fedora-rawhide/main.yml | 1 + guests/host_vars/libvirt-freebsd-10/main.yml | 1 + guests/host_vars/libvirt-freebsd-11/main.yml | 1 + .../libvirt-freebsd-current/main.yml | 1 + guests/host_vars/libvirt-ubuntu-16/main.yml | 1 + guests/host_vars/libvirt-ubuntu-18/main.yml | 1 + guests/playbooks/build/jobs/defaults.yml | 2 ++ .../build/projects/libvirt-ocaml.yml | 27 +++++++++++++++++++ guests/vars/mappings.yml | 6 +++++ guests/vars/projects/libvirt-ocaml.yml | 5 ++++ jobs/defaults.yaml | 2 ++ projects/libvirt-ocaml.yaml | 23 ++++++++++++++++ 17 files changed, 76 insertions(+) create mode 100644 guests/playbooks/build/projects/libvirt-ocaml.yml create mode 100644 guests/vars/projects/libvirt-ocaml.yml create mode 100644 projects/libvirt-ocaml.yaml -- 2.17.2

Soon to be used by libvirt-ocaml. Signed-off-by: Pino Toscano <ptoscano@redhat.com> --- guests/vars/mappings.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index 5df918f..cd92bd8 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -501,6 +501,12 @@ mappings: FreeBSD: Debian8: + ocaml: + default: ocaml + + ocaml-findlib: + default: ocaml-findlib + openwsman: rpm: libwsman-devel Ubuntu: libopenwsman-dev -- 2.17.2

Install the packages needed for building libvirt-ocaml; not on Debian 8 though, as the version of OCaml is not new enough there. Signed-off-by: Pino Toscano <ptoscano@redhat.com> --- guests/host_vars/libvirt-centos-7/main.yml | 1 + guests/host_vars/libvirt-debian-9/main.yml | 1 + guests/host_vars/libvirt-debian-sid/main.yml | 1 + guests/host_vars/libvirt-fedora-27/main.yml | 1 + guests/host_vars/libvirt-fedora-28/main.yml | 1 + guests/host_vars/libvirt-fedora-rawhide/main.yml | 1 + guests/host_vars/libvirt-freebsd-10/main.yml | 1 + guests/host_vars/libvirt-freebsd-11/main.yml | 1 + guests/host_vars/libvirt-freebsd-current/main.yml | 1 + guests/host_vars/libvirt-ubuntu-16/main.yml | 1 + guests/host_vars/libvirt-ubuntu-18/main.yml | 1 + guests/vars/projects/libvirt-ocaml.yml | 5 +++++ 12 files changed, 16 insertions(+) create mode 100644 guests/vars/projects/libvirt-ocaml.yml diff --git a/guests/host_vars/libvirt-centos-7/main.yml b/guests/host_vars/libvirt-centos-7/main.yml index e220849..8be54b6 100644 --- a/guests/host_vars/libvirt-centos-7/main.yml +++ b/guests/host_vars/libvirt-centos-7/main.yml @@ -7,6 +7,7 @@ projects: - libvirt-glib - libvirt-go - libvirt-go-xml + - libvirt-ocaml - libvirt-perl - libvirt-python - osinfo-db diff --git a/guests/host_vars/libvirt-debian-9/main.yml b/guests/host_vars/libvirt-debian-9/main.yml index cdc5a57..33476ad 100644 --- a/guests/host_vars/libvirt-debian-9/main.yml +++ b/guests/host_vars/libvirt-debian-9/main.yml @@ -6,6 +6,7 @@ projects: - libvirt-glib - libvirt-go - libvirt-go-xml + - libvirt-ocaml - libvirt-perl - libvirt-python - libvirt-sandbox diff --git a/guests/host_vars/libvirt-debian-sid/main.yml b/guests/host_vars/libvirt-debian-sid/main.yml index 5dd887b..f2594e7 100644 --- a/guests/host_vars/libvirt-debian-sid/main.yml +++ b/guests/host_vars/libvirt-debian-sid/main.yml @@ -6,6 +6,7 @@ projects: - libvirt-glib - libvirt-go - libvirt-go-xml + - libvirt-ocaml - libvirt-perl - libvirt-python - libvirt-sandbox diff --git a/guests/host_vars/libvirt-fedora-27/main.yml b/guests/host_vars/libvirt-fedora-27/main.yml index f131953..0b4ec2b 100644 --- a/guests/host_vars/libvirt-fedora-27/main.yml +++ b/guests/host_vars/libvirt-fedora-27/main.yml @@ -7,6 +7,7 @@ projects: - libvirt-glib - libvirt-go - libvirt-go-xml + - libvirt-ocaml - libvirt-perl - libvirt-python - libvirt-sandbox diff --git a/guests/host_vars/libvirt-fedora-28/main.yml b/guests/host_vars/libvirt-fedora-28/main.yml index f115598..13555af 100644 --- a/guests/host_vars/libvirt-fedora-28/main.yml +++ b/guests/host_vars/libvirt-fedora-28/main.yml @@ -7,6 +7,7 @@ projects: - libvirt-glib - libvirt-go - libvirt-go-xml + - libvirt-ocaml - libvirt-perl - libvirt-python - libvirt-sandbox diff --git a/guests/host_vars/libvirt-fedora-rawhide/main.yml b/guests/host_vars/libvirt-fedora-rawhide/main.yml index 4318653..604f57f 100644 --- a/guests/host_vars/libvirt-fedora-rawhide/main.yml +++ b/guests/host_vars/libvirt-fedora-rawhide/main.yml @@ -13,6 +13,7 @@ projects: - libvirt-glib+mingw64 - libvirt-go - libvirt-go-xml + - libvirt-ocaml - libvirt-perl - libvirt-python - libvirt-sandbox diff --git a/guests/host_vars/libvirt-freebsd-10/main.yml b/guests/host_vars/libvirt-freebsd-10/main.yml index 005acb4..6547ab4 100644 --- a/guests/host_vars/libvirt-freebsd-10/main.yml +++ b/guests/host_vars/libvirt-freebsd-10/main.yml @@ -8,6 +8,7 @@ projects: - libvirt-glib - libvirt-go - libvirt-go-xml + - libvirt-ocaml - libvirt-perl - libvirt-python - libvirt-tck diff --git a/guests/host_vars/libvirt-freebsd-11/main.yml b/guests/host_vars/libvirt-freebsd-11/main.yml index dd06fc5..887c9e6 100644 --- a/guests/host_vars/libvirt-freebsd-11/main.yml +++ b/guests/host_vars/libvirt-freebsd-11/main.yml @@ -8,6 +8,7 @@ projects: - libvirt-glib - libvirt-go - libvirt-go-xml + - libvirt-ocaml - libvirt-perl - libvirt-python - libvirt-tck diff --git a/guests/host_vars/libvirt-freebsd-current/main.yml b/guests/host_vars/libvirt-freebsd-current/main.yml index 07f3f25..1f3e911 100644 --- a/guests/host_vars/libvirt-freebsd-current/main.yml +++ b/guests/host_vars/libvirt-freebsd-current/main.yml @@ -8,6 +8,7 @@ projects: - libvirt-glib - libvirt-go - libvirt-go-xml + - libvirt-ocaml - libvirt-perl - libvirt-python - libvirt-tck diff --git a/guests/host_vars/libvirt-ubuntu-16/main.yml b/guests/host_vars/libvirt-ubuntu-16/main.yml index 4d9914a..6ec1df8 100644 --- a/guests/host_vars/libvirt-ubuntu-16/main.yml +++ b/guests/host_vars/libvirt-ubuntu-16/main.yml @@ -6,6 +6,7 @@ projects: - libvirt-glib - libvirt-go - libvirt-go-xml + - libvirt-ocaml - libvirt-perl - libvirt-python - libvirt-sandbox diff --git a/guests/host_vars/libvirt-ubuntu-18/main.yml b/guests/host_vars/libvirt-ubuntu-18/main.yml index 8a45854..61c7384 100644 --- a/guests/host_vars/libvirt-ubuntu-18/main.yml +++ b/guests/host_vars/libvirt-ubuntu-18/main.yml @@ -6,6 +6,7 @@ projects: - libvirt-glib - libvirt-go - libvirt-go-xml + - libvirt-ocaml - libvirt-perl - libvirt-python - libvirt-sandbox diff --git a/guests/vars/projects/libvirt-ocaml.yml b/guests/vars/projects/libvirt-ocaml.yml new file mode 100644 index 0000000..27885c1 --- /dev/null +++ b/guests/vars/projects/libvirt-ocaml.yml @@ -0,0 +1,5 @@ +--- +packages: + - ocaml + - ocaml-findlib + - perl -- 2.17.2

Not built on Debian 8, as the version of OCaml is not new enough. Signed-off-by: Pino Toscano <ptoscano@redhat.com> --- guests/playbooks/build/jobs/defaults.yml | 2 ++ .../build/projects/libvirt-ocaml.yml | 27 +++++++++++++++++++ jobs/defaults.yaml | 2 ++ projects/libvirt-ocaml.yaml | 23 ++++++++++++++++ 4 files changed, 54 insertions(+) create mode 100644 guests/playbooks/build/projects/libvirt-ocaml.yml create mode 100644 projects/libvirt-ocaml.yaml diff --git a/guests/playbooks/build/jobs/defaults.yml b/guests/playbooks/build/jobs/defaults.yml index 522dd83..81c5fab 100644 --- a/guests/playbooks/build/jobs/defaults.yml +++ b/guests/playbooks/build/jobs/defaults.yml @@ -52,6 +52,8 @@ git_urls: default: https://github.com/libvirt/libvirt-go-xml.git libvirt-go: default: https://github.com/libvirt/libvirt-go.git + libvirt-ocaml: + default: https://github.com/libvirt/libvirt-ocaml.git libvirt-perl: default: https://github.com/libvirt/libvirt-perl.git libvirt-python: diff --git a/guests/playbooks/build/projects/libvirt-ocaml.yml b/guests/playbooks/build/projects/libvirt-ocaml.yml new file mode 100644 index 0000000..f0dec8b --- /dev/null +++ b/guests/playbooks/build/projects/libvirt-ocaml.yml @@ -0,0 +1,27 @@ +--- +- set_fact: + name: libvirt-ocaml + # Debian 8 doesn't have a recent enough OCaml + machines: + - libvirt-centos-7 + - libvirt-debian-9 + - libvirt-debian-sid + - libvirt-fedora-27 + - libvirt-fedora-28 + - libvirt-fedora-rawhide + - libvirt-freebsd-10 + - libvirt-freebsd-11 + - libvirt-freebsd-current + - libvirt-ubuntu-16 + - libvirt-ubuntu-18 + archive_format: xz + git_url: '{{ git_urls["libvirt-ocaml"][git_remote] }}' + +- include: '{{ playbook_base }}/jobs/prepare.yml' +- include: '{{ playbook_base }}/jobs/generic-build-job.yml' + vars: + command: | + autoreconf -vfi + ./configure --prefix=$VIRT_PREFIX + $MAKE + $MAKE opt diff --git a/jobs/defaults.yaml b/jobs/defaults.yaml index 5cf84dc..13cc443 100644 --- a/jobs/defaults.yaml +++ b/jobs/defaults.yaml @@ -51,6 +51,8 @@ default: https://github.com/libvirt/libvirt-go-xml.git libvirt-go: default: https://github.com/libvirt/libvirt-go.git + libvirt-ocaml: + default: https://github.com/libvirt/libvirt-ocaml.git libvirt-perl: default: https://github.com/libvirt/libvirt-perl.git libvirt-python: diff --git a/projects/libvirt-ocaml.yaml b/projects/libvirt-ocaml.yaml new file mode 100644 index 0000000..e9e3837 --- /dev/null +++ b/projects/libvirt-ocaml.yaml @@ -0,0 +1,23 @@ + +- project: + name: libvirt-ocaml + # Debian 8 doesn't have a recent enough OCaml + machines: + - libvirt-centos-7 + - libvirt-debian-9 + - libvirt-fedora-27 + - libvirt-fedora-28 + - libvirt-fedora-rawhide + - libvirt-freebsd-10 + - libvirt-freebsd-11 + title: Libvirt OCaml + archive_format: xz + git_url: '{git_urls[libvirt-ocaml][default]}' + jobs: + - generic-build-job: + parent_jobs: 'libvirt-build' + command: | + autoreconf -vfi + ./configure --prefix=$VIRT_PREFIX + $MAKE + $MAKE opt -- 2.17.2

On Mon, Oct 22, 2018 at 07:02:24PM +0200, Pino Toscano wrote:
Now that the libvirt-ocaml repository is fixed, let's build it in CI.
Changes from v1 to v2: - split according to Andrea's hints - removed --with-libvirt as argument for configure, no more needed after upstream changes
Reviewed-by: Erik Skultety <eskultet@redhat.com>

On Mon, 2018-10-22 at 19:02 +0200, Pino Toscano wrote:
Now that the libvirt-ocaml repository is fixed, let's build it in CI.
Changes from v1 to v2: - split according to Andrea's hints - removed --with-libvirt as argument for configure, no more needed after upstream changes
Pino Toscano (3): guests: add mappings for OCaml components guests: pull dependencies for libvirt-ocaml Add libvirt-ocaml project
Reviewed-by: Andrea Bolognani <abologna@redhat.com> Do you plan on pushing these yourself, or do you want me to take care of it? Either way, I'll have to apply changes to the live CI environment as you don't have any permissions there... -- Andrea Bolognani / Red Hat / Virtualization

On Friday, 2 November 2018 12:08:22 CET Andrea Bolognani wrote:
On Mon, 2018-10-22 at 19:02 +0200, Pino Toscano wrote:
Now that the libvirt-ocaml repository is fixed, let's build it in CI.
Changes from v1 to v2: - split according to Andrea's hints - removed --with-libvirt as argument for configure, no more needed after upstream changes
Pino Toscano (3): guests: add mappings for OCaml components guests: pull dependencies for libvirt-ocaml Add libvirt-ocaml project
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Do you plan on pushing these yourself, or do you want me to take care of it?
I just pushed them, with Erik's and yours R-b.
Either way, I'll have to apply changes to the live CI environment as you don't have any permissions there...
Feel free to start the update magic, please ;) Thanks, -- Pino Toscano

On Fri, 2018-11-02 at 12:21 +0100, Pino Toscano wrote:
Either way, I'll have to apply changes to the live CI environment as you don't have any permissions there...
Feel free to start the update magic, please ;)
Done. https://ci.centos.org/view/libvirt/job/libvirt-ocaml-build/ Note that it failed to build on FreeBSD 10, so you'll probably want to look into that. Once you've done that, please also consider * adding an autogen.sh script to libvirt-ocaml, even if it ends up just calling autoreconf, and * introducing some sort of test suite that can be run with 'make check' as suggested during earlier discussion. -- Andrea Bolognani / Red Hat / Virtualization
participants (3)
-
Andrea Bolognani
-
Erik Skultety
-
Pino Toscano