[libvirt] [jenkins-ci PATCH 0/7] Switch osinfo-db-tools to Meson

This patch series switches osinfo-db-tools to using meson instead of autotools. In order to do so, meson build jobs had to be added as the first step. I've tried to make the osinfo-db-tools changes as small as possible so it'd make the review easier. Fabiano Fidêncio (7): jobs: add a template for Meson guests: Add Meson jobs mappings: Add meson osinfo-db-tools: Add meson dependency Only build osinfo-db-tools on systems with meson >= 0.49.0 Update osinfo-db-tools' archive_format Switch osinfo-db-tools builds to Meson guests/host_vars/libvirt-centos-7/main.yml | 1 - guests/host_vars/libvirt-debian-9/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 | 3 + .../playbooks/build/jobs/meson-build-job.yml | 14 ++ .../playbooks/build/jobs/meson-check-job.yml | 15 ++ guests/playbooks/build/jobs/meson-rpm-job.yml | 15 ++ .../build/jobs/meson-syntax-check-job.yml | 11 ++ .../projects/osinfo-db-tools+mingw32.yml | 6 +- .../projects/osinfo-db-tools+mingw64.yml | 6 +- .../build/projects/osinfo-db-tools.yml | 24 +-- guests/vars/mappings.yml | 3 + .../vars/projects/osinfo-db-tools+mingw32.yml | 1 + .../vars/projects/osinfo-db-tools+mingw64.yml | 1 + guests/vars/projects/osinfo-db-tools.yml | 1 + jenkins/jobs/defaults.yaml | 3 + jenkins/jobs/meson.yaml | 174 ++++++++++++++++++ jenkins/projects/osinfo-db-tools+mingw32.yaml | 6 +- jenkins/projects/osinfo-db-tools+mingw64.yaml | 6 +- jenkins/projects/osinfo-db-tools.yaml | 30 ++- 21 files changed, 277 insertions(+), 46 deletions(-) create mode 100644 guests/playbooks/build/jobs/meson-build-job.yml create mode 100644 guests/playbooks/build/jobs/meson-check-job.yml create mode 100644 guests/playbooks/build/jobs/meson-rpm-job.yml create mode 100644 guests/playbooks/build/jobs/meson-syntax-check-job.yml create mode 100644 jenkins/jobs/meson.yaml -- 2.21.0

Add a template for projects using the Meson framework. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- jenkins/jobs/defaults.yaml | 3 + jenkins/jobs/meson.yaml | 174 +++++++++++++++++++++++++++++++++++++ 2 files changed, 177 insertions(+) create mode 100644 jenkins/jobs/meson.yaml diff --git a/jenkins/jobs/defaults.yaml b/jenkins/jobs/defaults.yaml index 050c7b5..af78714 100644 --- a/jenkins/jobs/defaults.yaml +++ b/jenkins/jobs/defaults.yaml @@ -21,6 +21,7 @@ global_env: '' local_env: '' autogen_args: '' + meson_args: '' command: '' command_pre_build: '' strip_buildrequires: | @@ -33,11 +34,13 @@ export PKG_CONFIG_PATH="$VIRT_PREFIX/lib/pkgconfig" export PKG_CONFIG_LIBDIR="/usr/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/i686-w64-mingw32/sys-root/mingw/share/pkgconfig" mingw32_autogen_args: --host=i686-w64-mingw32 + mingw32_meson_args: --cross-file="/usr/share/mingw/toolchain-mingw32.meson" mingw64_local_env: | export VIRT_PREFIX="$VIRT_PREFIX/x86_64-w64-mingw32/sys-root/mingw" export PKG_CONFIG_PATH="$VIRT_PREFIX/lib/pkgconfig" export PKG_CONFIG_LIBDIR="/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig" mingw64_autogen_args: --host=x86_64-w64-mingw32 + mingw64_meson_args: --cross-file="/usr/share/mingw/toolchain-mingw64.meson" git_urls: libosinfo: default: https://gitlab.com/libosinfo/libosinfo.git diff --git a/jenkins/jobs/meson.yaml b/jenkins/jobs/meson.yaml new file mode 100644 index 0000000..5c0be01 --- /dev/null +++ b/jenkins/jobs/meson.yaml @@ -0,0 +1,174 @@ +--- +- job-template: + id: meson-build-job + name: '{name}-build' + project-type: matrix + description: '{title} Build' + workspace: '{name}' + child-workspace: '.' + block-downstream: true + block-upstream: true + wrappers: + - timeout: + abort: true + type: absolute + timeout: 90 + write-description: 'Aborted build after 90 minutes' + properties: + - build-discarder: + days-to-keep: 30 + num-to-keep: 1000 + scm: + - git: + url: '{git_url}' + branches: + - origin/master + clean: + after: true + skip-tag: true + wipe-workspace: false + triggers: + - reverse: + jobs: '{obj:parent_jobs}' + - pollscm: + cron: "H/20 * * * *" + axes: + - axis: + name: systems + type: slave + values: '{obj:machines}' + builders: + - shell: | + {global_env} + {local_env} + rm -rf build + meson build --prefix=$VIRT_PREFIX {meson_args} + ninja -C build + ninja -C build install + publishers: + - email: + recipients: '{obj:spam}' + notify-every-unstable-build: false + send-to-individuals: false + +- job-template: + id: meson-syntax-check-job + name: '{name}-syntax-check' + project-type: matrix + description: '{title} Syntax Check' + workspace: '{name}' + child-workspace: '.' + block-downstream: true + block-upstream: true + wrappers: + - timeout: + abort: true + type: absolute + timeout: 90 + write-description: 'Aborted build after 90 minutes' + properties: + - build-discarder: + days-to-keep: 30 + num-to-keep: 1000 + triggers: + - reverse: + jobs: '{obj:parent_jobs}' + axes: + - axis: + name: systems + type: slave + values: '{obj:machines}' + builders: + - shell: | + {global_env} + {local_env} + ninja -C build syntax-check + publishers: + - email: + recipients: '{obj:spam}' + notify-every-unstable-build: false + send-to-individuals: false + +- job-template: + id: meson-test-job + name: '{name}-check' + project-type: matrix + description: '{title} Check' + workspace: '{name}' + child-workspace: '.' + block-downstream: true + block-upstream: true + wrappers: + - timeout: + abort: true + type: absolute + timeout: 90 + write-description: 'Aborted build after 90 minutes' + properties: + - build-discarder: + days-to-keep: 30 + num-to-keep: 1000 + triggers: + - reverse: + jobs: '{obj:parent_jobs}' + axes: + - axis: + name: systems + type: slave + values: '{obj:machines}' + builders: + - shell: | + {global_env} + {local_env} + if ! ninja -C build test + then + cat build/meson-logs/testlog.txt || true + exit 1 + fi + publishers: + - email: + recipients: '{obj:spam}' + notify-every-unstable-build: false + send-to-individuals: false + +- job-template: + id: meson-rpm-job + name: '{name}-rpm' + project-type: matrix + description: '{title} RPM' + workspace: '{name}' + child-workspace: '.' + block-downstream: true + block-upstream: true + wrappers: + - timeout: + abort: true + type: absolute + timeout: 90 + write-description: 'Aborted build after 90 minutes' + properties: + - build-discarder: + days-to-keep: 30 + num-to-keep: 1000 + triggers: + - reverse: + jobs: '{obj:parent_jobs}' + axes: + - axis: + name: systems + type: slave + values: '{obj:machines}' + builders: + - shell: | + {global_env} + {local_env} + cd build + {strip_buildrequires} + rm -f meson-dist/*.tar.{archive_format} + ninja dist + rpmbuild --clean --define "_topdir `pwd`/rpmbuild" -ta meson-dist/*.tar.{archive_format} + publishers: + - email: + recipients: '{obj:spam}' + notify-every-unstable-build: false + send-to-individuals: false -- 2.21.0

On Tue, 2019-08-20 at 22:07 +0200, Fabiano Fidêncio wrote:
jobs: add a template for Meson
Change this to jenkins: Add Meson jobs
+++ b/jenkins/jobs/defaults.yaml export PKG_CONFIG_PATH="$VIRT_PREFIX/lib/pkgconfig" export PKG_CONFIG_LIBDIR="/usr/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/i686-w64-mingw32/sys-root/mingw/share/pkgconfig" mingw32_autogen_args: --host=i686-w64-mingw32 + mingw32_meson_args: --cross-file="/usr/share/mingw/toolchain-mingw32.meson" + mingw64_meson_args: --cross-file="/usr/share/mingw/toolchain-mingw64.meson"
Quoting the path seems unnecessary.
+++ b/jenkins/jobs/meson.yaml @@ -0,0 +1,174 @@ +--- +- job-template: + id: meson-build-job + builders: + - shell: | + {global_env} + {local_env} + rm -rf build + meson build --prefix=$VIRT_PREFIX {meson_args} + ninja -C build + ninja -C build install
I would keep this closer to the autotools version, which looks like rm -rf build mkdir build cd build ../autogen.sh --prefix=$VIRT_PREFIX {autogen_args} $MAKE $MAKE install by doing rm -rf build mkdir build cd build meson .. . --prefix=$VIRT_PREFIX {meson_args} ninja ninja install
+- job-template: + id: meson-syntax-check-job + builders: + - shell: | + {global_env} + {local_env} + ninja -C build syntax-check
Same here: cd build ninja syntax-check
+- job-template: + id: meson-test-job + builders: + - shell: | + {global_env} + {local_env} + if ! ninja -C build test + then + cat build/meson-logs/testlog.txt || true + exit 1 + fi
And here: cd build if ! ninja test then cat meson-logs/testlog.txt || true exit 1 fi
+- job-template: + id: meson-rpm-job + builders: + - shell: | + {global_env} + {local_env} + cd build + {strip_buildrequires} + rm -f meson-dist/*.tar.{archive_format} + ninja dist + rpmbuild --clean --define "_topdir `pwd`/rpmbuild" -ta meson-dist/*.tar.{archive_format}
This one already looks good :) With the above changed, Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

These tasks mirror the Jenkins's Meson jobs contained in the top-level jobs/ directory. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- guests/playbooks/build/jobs/defaults.yml | 3 +++ guests/playbooks/build/jobs/meson-build-job.yml | 14 ++++++++++++++ guests/playbooks/build/jobs/meson-check-job.yml | 15 +++++++++++++++ guests/playbooks/build/jobs/meson-rpm-job.yml | 15 +++++++++++++++ .../build/jobs/meson-syntax-check-job.yml | 11 +++++++++++ 5 files changed, 58 insertions(+) create mode 100644 guests/playbooks/build/jobs/meson-build-job.yml create mode 100644 guests/playbooks/build/jobs/meson-check-job.yml create mode 100644 guests/playbooks/build/jobs/meson-rpm-job.yml create mode 100644 guests/playbooks/build/jobs/meson-syntax-check-job.yml diff --git a/guests/playbooks/build/jobs/defaults.yml b/guests/playbooks/build/jobs/defaults.yml index 311f980..33dde45 100644 --- a/guests/playbooks/build/jobs/defaults.yml +++ b/guests/playbooks/build/jobs/defaults.yml @@ -22,6 +22,7 @@ mingw_machines: global_env: '' local_env: '' autogen_args: '' +meson_args: '' command: '' command_pre_build: '' strip_buildrequires: | @@ -34,11 +35,13 @@ mingw32_local_env: | export PKG_CONFIG_PATH="$VIRT_PREFIX/lib/pkgconfig" export PKG_CONFIG_LIBDIR="/usr/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/i686-w64-mingw32/sys-root/mingw/share/pkgconfig" mingw32_autogen_args: --host=i686-w64-mingw32 +mingw32_meson_args: --cross-file="/usr/share/mingw/toolchain-mingw32.meson" mingw64_local_env: | export VIRT_PREFIX="$VIRT_PREFIX/x86_64-w64-mingw32/sys-root/mingw" export PKG_CONFIG_PATH="$VIRT_PREFIX/lib/pkgconfig" export PKG_CONFIG_LIBDIR="/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig" mingw64_autogen_args: --host=x86_64-w64-mingw32 +mingw64_meson_args: --cross-file="/usr/share/mingw/toolchain-mingw64.meson" git_urls: libosinfo: default: https://gitlab.com/libosinfo/libosinfo.git diff --git a/guests/playbooks/build/jobs/meson-build-job.yml b/guests/playbooks/build/jobs/meson-build-job.yml new file mode 100644 index 0000000..aab8256 --- /dev/null +++ b/guests/playbooks/build/jobs/meson-build-job.yml @@ -0,0 +1,14 @@ +--- +- name: '{{ name }}-build' + shell: | + set -e + cd {{ name }} + + {{ global_env }} + {{ local_env }} + rm -rf build + meson build --prefix=$VIRT_PREFIX {{ meson_args }} + ninja -C build + ninja -C build install + when: + - inventory_hostname in machines diff --git a/guests/playbooks/build/jobs/meson-check-job.yml b/guests/playbooks/build/jobs/meson-check-job.yml new file mode 100644 index 0000000..d4a361d --- /dev/null +++ b/guests/playbooks/build/jobs/meson-check-job.yml @@ -0,0 +1,15 @@ +--- +- name: '{{ name }}-check' + shell: | + set -e + cd {{ name }} + + {{ global_env }} + {{ local_env }} + if ! ninja -C build test + then + cat build/meson-logs/testlog.txt || true + exit 1 + fi + when: + - inventory_hostname in machines diff --git a/guests/playbooks/build/jobs/meson-rpm-job.yml b/guests/playbooks/build/jobs/meson-rpm-job.yml new file mode 100644 index 0000000..f517214 --- /dev/null +++ b/guests/playbooks/build/jobs/meson-rpm-job.yml @@ -0,0 +1,15 @@ +--- +- name: '{{ name }}-rpm' + shell: | + set -e + cd {{ name }} + + {{ global_env }} + {{ local_env }} + cd build + {{ strip_buildrequires }} + rm -f meson-dist/*.tar.{{ archive_format }} + ninja dist + rpmbuild --clean --define "_topdir `pwd`/rpmbuild" -ta meson-dist/*.tar.{{ archive_format }} + when: + - inventory_hostname in machines diff --git a/guests/playbooks/build/jobs/meson-syntax-check-job.yml b/guests/playbooks/build/jobs/meson-syntax-check-job.yml new file mode 100644 index 0000000..5609bb4 --- /dev/null +++ b/guests/playbooks/build/jobs/meson-syntax-check-job.yml @@ -0,0 +1,11 @@ +--- +- name: '{{ name }}-syntax-check' + shell: | + set -e + cd {{ name }} + + {{ global_env }} + {{ local_env }} + ninja -C build syntax-check + when: + - inventory_hostname in machines -- 2.21.0

On Tue, 2019-08-20 at 22:07 +0200, Fabiano Fidêncio wrote:
These tasks mirror the Jenkins's Meson jobs contained in the top-level jobs/ directory.
Jenkins' jobs/ directory hasn't been in the top-level for a long time now ;) With the same changes as in the previous patch applied Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

meson is a new dependency, introduced as part of v1.7.0 release, for (mingw-*)?osinfo-db-tools. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- guests/vars/mappings.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index 5012741..c5a7824 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -442,6 +442,9 @@ mappings: default: make FreeBSD: gmake + meson: + default: meson + mingw32-curl: Fedora: mingw32-curl -- 2.21.0

On Tue, 2019-08-20 at 22:07 +0200, Fabiano Fidêncio wrote:
meson is a new dependency, introduced as part of v1.7.0 release, for (mingw-*)?osinfo-db-tools.
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- guests/vars/mappings.yml | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

It's been introduced as dependency as part of v1.7.0 development cycle. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- guests/vars/projects/osinfo-db-tools+mingw32.yml | 1 + guests/vars/projects/osinfo-db-tools+mingw64.yml | 1 + guests/vars/projects/osinfo-db-tools.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/guests/vars/projects/osinfo-db-tools+mingw32.yml b/guests/vars/projects/osinfo-db-tools+mingw32.yml index 0952d09..d10f966 100644 --- a/guests/vars/projects/osinfo-db-tools+mingw32.yml +++ b/guests/vars/projects/osinfo-db-tools+mingw32.yml @@ -1,5 +1,6 @@ --- packages: + - meson - mingw32-glib2 - mingw32-json-glib - mingw32-libarchive diff --git a/guests/vars/projects/osinfo-db-tools+mingw64.yml b/guests/vars/projects/osinfo-db-tools+mingw64.yml index 5f099f0..42dad20 100644 --- a/guests/vars/projects/osinfo-db-tools+mingw64.yml +++ b/guests/vars/projects/osinfo-db-tools+mingw64.yml @@ -1,5 +1,6 @@ --- packages: + - meson - mingw64-glib2 - mingw64-json-glib - mingw64-libarchive diff --git a/guests/vars/projects/osinfo-db-tools.yml b/guests/vars/projects/osinfo-db-tools.yml index ad38a1f..388cfb6 100644 --- a/guests/vars/projects/osinfo-db-tools.yml +++ b/guests/vars/projects/osinfo-db-tools.yml @@ -1,5 +1,6 @@ --- packages: + - meson - glib2 - json-glib - libarchive -- 2.21.0

On Tue, 2019-08-20 at 22:07 +0200, Fabiano Fidêncio wrote:
+++ b/guests/vars/projects/osinfo-db-tools.yml @@ -1,5 +1,6 @@ --- packages: + - meson - glib2 - json-glib - libarchive
Now the list is no longer sorted! With that fixed, Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

osinfo-db-tools has switched its build system to meson and requires 0.49.0 or newer. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- guests/host_vars/libvirt-centos-7/main.yml | 1 - guests/host_vars/libvirt-debian-9/main.yml | 1 - guests/host_vars/libvirt-ubuntu-16/main.yml | 1 - guests/host_vars/libvirt-ubuntu-18/main.yml | 1 - .../build/projects/osinfo-db-tools.yml | 22 ++++++++----------- jenkins/projects/osinfo-db-tools.yaml | 20 ++++++++--------- 6 files changed, 18 insertions(+), 28 deletions(-) diff --git a/guests/host_vars/libvirt-centos-7/main.yml b/guests/host_vars/libvirt-centos-7/main.yml index 94e29af..72db363 100644 --- a/guests/host_vars/libvirt-centos-7/main.yml +++ b/guests/host_vars/libvirt-centos-7/main.yml @@ -9,7 +9,6 @@ projects: - libvirt-perl - libvirt-python - osinfo-db - - osinfo-db-tools - virt-viewer package_format: 'rpm' diff --git a/guests/host_vars/libvirt-debian-9/main.yml b/guests/host_vars/libvirt-debian-9/main.yml index 6b685a4..c45c0fb 100644 --- a/guests/host_vars/libvirt-debian-9/main.yml +++ b/guests/host_vars/libvirt-debian-9/main.yml @@ -12,7 +12,6 @@ projects: - libvirt-sandbox - libvirt-tck - osinfo-db - - osinfo-db-tools - virt-manager - virt-viewer diff --git a/guests/host_vars/libvirt-ubuntu-16/main.yml b/guests/host_vars/libvirt-ubuntu-16/main.yml index 179dd03..3e9ae9f 100644 --- a/guests/host_vars/libvirt-ubuntu-16/main.yml +++ b/guests/host_vars/libvirt-ubuntu-16/main.yml @@ -12,7 +12,6 @@ projects: - libvirt-sandbox - libvirt-tck - osinfo-db - - osinfo-db-tools - virt-viewer package_format: 'deb' diff --git a/guests/host_vars/libvirt-ubuntu-18/main.yml b/guests/host_vars/libvirt-ubuntu-18/main.yml index 5b5bf0c..4a38ab0 100644 --- a/guests/host_vars/libvirt-ubuntu-18/main.yml +++ b/guests/host_vars/libvirt-ubuntu-18/main.yml @@ -12,7 +12,6 @@ projects: - libvirt-sandbox - libvirt-tck - osinfo-db - - osinfo-db-tools - virt-manager - virt-viewer diff --git a/guests/playbooks/build/projects/osinfo-db-tools.yml b/guests/playbooks/build/projects/osinfo-db-tools.yml index c5d0281..1e69e0d 100644 --- a/guests/playbooks/build/projects/osinfo-db-tools.yml +++ b/guests/playbooks/build/projects/osinfo-db-tools.yml @@ -1,19 +1,9 @@ --- - set_fact: name: osinfo-db-tools - machines: '{{ all_machines }}' - archive_format: gz - git_url: '{{ git_urls["osinfo-db-tools"][git_remote] }}' - -- include: '{{ playbook_base }}/jobs/prepare.yml' -- include: '{{ playbook_base }}/jobs/autotools-build-job.yml' -- include: '{{ playbook_base }}/jobs/autotools-syntax-check-job.yml' -- include: '{{ playbook_base }}/jobs/autotools-check-job.yml' - vars: - # osinfo-db-tools tests are Python 3 only, so they can't be ran on - # CentOS 7; + # osinfo-db-tools depends on meson 0.49.0, which is not available on + # CentOS 7, Debian 9, Ubuntu 18; machines: - - libvirt-debian-9 - libvirt-debian-10 - libvirt-debian-sid - libvirt-fedora-29 @@ -22,7 +12,13 @@ - libvirt-freebsd-11 - libvirt-freebsd-12 - libvirt-freebsd-current - - libvirt-ubuntu-18 + archive_format: gz + git_url: '{{ git_urls["osinfo-db-tools"][git_remote] }}' + +- include: '{{ playbook_base }}/jobs/prepare.yml' +- include: '{{ playbook_base }}/jobs/autotools-build-job.yml' +- include: '{{ playbook_base }}/jobs/autotools-syntax-check-job.yml' +- include: '{{ playbook_base }}/jobs/autotools-check-job.yml' - include: '{{ playbook_base }}/jobs/autotools-rpm-job.yml' vars: machines: '{{ rpm_machines }}' diff --git a/jenkins/projects/osinfo-db-tools.yaml b/jenkins/projects/osinfo-db-tools.yaml index c75d323..d183e75 100644 --- a/jenkins/projects/osinfo-db-tools.yaml +++ b/jenkins/projects/osinfo-db-tools.yaml @@ -1,7 +1,15 @@ --- - project: name: osinfo-db-tools - machines: '{all_machines}' + # osinfo-db-tools requires meson 0.49.0, which is not available on + # CentOS 7 and Debian 9; + machines: + - libvirt-debian-10 + - libvirt-fedora-29 + - libvirt-fedora-30 + - libvirt-fedora-rawhide + - libvirt-freebsd-11 + - libvirt-freebsd-12 title: osinfo database tools archive_format: gz git_url: '{git_urls[osinfo-db-tools][default]}' @@ -12,16 +20,6 @@ parent_jobs: 'osinfo-db-tools-build' - autotools-check-job: parent_jobs: 'osinfo-db-tools-syntax-check' - # osinfo-db-tools tests are Python 3 only, so they can't be ran on - # CentOS 7; - machines: - - libvirt-debian-9 - - libvirt-debian-10 - - libvirt-fedora-29 - - libvirt-fedora-30 - - libvirt-fedora-rawhide - - libvirt-freebsd-11 - - libvirt-freebsd-12 - autotools-rpm-job: parent_jobs: 'osinfo-db-tools-check' machines: '{rpm_machines}' -- 2.21.0

On Tue, 2019-08-20 at 22:07 +0200, Fabiano Fidêncio wrote:
osinfo-db-tools has switched its build system to meson and requires 0.49.0 or newer.
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- guests/host_vars/libvirt-centos-7/main.yml | 1 - guests/host_vars/libvirt-debian-9/main.yml | 1 - guests/host_vars/libvirt-ubuntu-16/main.yml | 1 - guests/host_vars/libvirt-ubuntu-18/main.yml | 1 - .../build/projects/osinfo-db-tools.yml | 22 ++++++++----------- jenkins/projects/osinfo-db-tools.yaml | 20 ++++++++--------- 6 files changed, 18 insertions(+), 28 deletions(-)
I feel like you'll probably have to revisit this decision later, especially seeing how support for the latest and very much still supported Ubuntu LTS release is being dropped... But as far as the libvirt-jenkins-ci project is concerned, the job is to reflect reality rather than argue with it, so with that in mind: Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

Since the switch to meson, osinfo-db-tools' archive format is "xz" instead of "gz". Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- guests/playbooks/build/projects/osinfo-db-tools+mingw32.yml | 2 +- guests/playbooks/build/projects/osinfo-db-tools+mingw64.yml | 2 +- guests/playbooks/build/projects/osinfo-db-tools.yml | 2 +- jenkins/projects/osinfo-db-tools+mingw32.yaml | 2 +- jenkins/projects/osinfo-db-tools+mingw64.yaml | 2 +- jenkins/projects/osinfo-db-tools.yaml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/guests/playbooks/build/projects/osinfo-db-tools+mingw32.yml b/guests/playbooks/build/projects/osinfo-db-tools+mingw32.yml index 5bf12ad..e64bf8a 100644 --- a/guests/playbooks/build/projects/osinfo-db-tools+mingw32.yml +++ b/guests/playbooks/build/projects/osinfo-db-tools+mingw32.yml @@ -2,7 +2,7 @@ - set_fact: name: osinfo-db-tools+mingw32 machines: '{{ mingw_machines }}' - archive_format: gz + archive_format: xz git_url: '{{ git_urls["osinfo-db-tools"][git_remote] }}' - include: '{{ playbook_base }}/jobs/prepare.yml' diff --git a/guests/playbooks/build/projects/osinfo-db-tools+mingw64.yml b/guests/playbooks/build/projects/osinfo-db-tools+mingw64.yml index 9e51bcf..df07e7e 100644 --- a/guests/playbooks/build/projects/osinfo-db-tools+mingw64.yml +++ b/guests/playbooks/build/projects/osinfo-db-tools+mingw64.yml @@ -2,7 +2,7 @@ - set_fact: name: osinfo-db-tools+mingw64 machines: '{{ mingw_machines }}' - archive_format: gz + archive_format: xz git_url: '{{ git_urls["osinfo-db-tools"][git_remote] }}' - include: '{{ playbook_base }}/jobs/prepare.yml' diff --git a/guests/playbooks/build/projects/osinfo-db-tools.yml b/guests/playbooks/build/projects/osinfo-db-tools.yml index 1e69e0d..9ef3672 100644 --- a/guests/playbooks/build/projects/osinfo-db-tools.yml +++ b/guests/playbooks/build/projects/osinfo-db-tools.yml @@ -12,7 +12,7 @@ - libvirt-freebsd-11 - libvirt-freebsd-12 - libvirt-freebsd-current - archive_format: gz + archive_format: xz git_url: '{{ git_urls["osinfo-db-tools"][git_remote] }}' - include: '{{ playbook_base }}/jobs/prepare.yml' diff --git a/jenkins/projects/osinfo-db-tools+mingw32.yaml b/jenkins/projects/osinfo-db-tools+mingw32.yaml index a929118..d796ca1 100644 --- a/jenkins/projects/osinfo-db-tools+mingw32.yaml +++ b/jenkins/projects/osinfo-db-tools+mingw32.yaml @@ -3,7 +3,7 @@ name: osinfo-db-tools+mingw32 machines: '{mingw_machines}' title: osinfo database tools MinGW (32-bit) - archive_format: gz + archive_format: xz git_url: '{git_urls[osinfo-db-tools][default]}' jobs: - autotools-build-job: diff --git a/jenkins/projects/osinfo-db-tools+mingw64.yaml b/jenkins/projects/osinfo-db-tools+mingw64.yaml index f2d6d57..7808fed 100644 --- a/jenkins/projects/osinfo-db-tools+mingw64.yaml +++ b/jenkins/projects/osinfo-db-tools+mingw64.yaml @@ -3,7 +3,7 @@ name: osinfo-db-tools+mingw64 machines: '{mingw_machines}' title: osinfo database tools MinGW (64-bit) - archive_format: gz + archive_format: xz git_url: '{git_urls[osinfo-db-tools][default]}' jobs: - autotools-build-job: diff --git a/jenkins/projects/osinfo-db-tools.yaml b/jenkins/projects/osinfo-db-tools.yaml index d183e75..503533a 100644 --- a/jenkins/projects/osinfo-db-tools.yaml +++ b/jenkins/projects/osinfo-db-tools.yaml @@ -11,7 +11,7 @@ - libvirt-freebsd-11 - libvirt-freebsd-12 title: osinfo database tools - archive_format: gz + archive_format: xz git_url: '{git_urls[osinfo-db-tools][default]}' jobs: - autotools-build-job: -- 2.21.0

On Tue, 2019-08-20 at 22:07 +0200, Fabiano Fidêncio wrote:
Since the switch to meson, osinfo-db-tools' archive format is "xz" instead of "gz".
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- guests/playbooks/build/projects/osinfo-db-tools+mingw32.yml | 2 +- guests/playbooks/build/projects/osinfo-db-tools+mingw64.yml | 2 +- guests/playbooks/build/projects/osinfo-db-tools.yml | 2 +- jenkins/projects/osinfo-db-tools+mingw32.yaml | 2 +- jenkins/projects/osinfo-db-tools+mingw64.yaml | 2 +- jenkins/projects/osinfo-db-tools.yaml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-)
\o/ Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- .../playbooks/build/projects/osinfo-db-tools+mingw32.yml | 4 ++-- .../playbooks/build/projects/osinfo-db-tools+mingw64.yml | 4 ++-- guests/playbooks/build/projects/osinfo-db-tools.yml | 8 ++++---- jenkins/projects/osinfo-db-tools+mingw32.yaml | 4 ++-- jenkins/projects/osinfo-db-tools+mingw64.yaml | 4 ++-- jenkins/projects/osinfo-db-tools.yaml | 8 ++++---- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/guests/playbooks/build/projects/osinfo-db-tools+mingw32.yml b/guests/playbooks/build/projects/osinfo-db-tools+mingw32.yml index e64bf8a..c083226 100644 --- a/guests/playbooks/build/projects/osinfo-db-tools+mingw32.yml +++ b/guests/playbooks/build/projects/osinfo-db-tools+mingw32.yml @@ -6,7 +6,7 @@ git_url: '{{ git_urls["osinfo-db-tools"][git_remote] }}' - include: '{{ playbook_base }}/jobs/prepare.yml' -- include: '{{ playbook_base }}/jobs/autotools-build-job.yml' +- include: '{{ playbook_base }}/jobs/meson-build-job.yml' vars: local_env: '{{ mingw32_local_env }}' - autogen_args: '{{ mingw32_autogen_args }}' + meson_args: '{{ mingw32_meson_args }}' diff --git a/guests/playbooks/build/projects/osinfo-db-tools+mingw64.yml b/guests/playbooks/build/projects/osinfo-db-tools+mingw64.yml index df07e7e..1671841 100644 --- a/guests/playbooks/build/projects/osinfo-db-tools+mingw64.yml +++ b/guests/playbooks/build/projects/osinfo-db-tools+mingw64.yml @@ -6,7 +6,7 @@ git_url: '{{ git_urls["osinfo-db-tools"][git_remote] }}' - include: '{{ playbook_base }}/jobs/prepare.yml' -- include: '{{ playbook_base }}/jobs/autotools-build-job.yml' +- include: '{{ playbook_base }}/jobs/meson-build-job.yml' vars: local_env: '{{ mingw64_local_env }}' - autogen_args: '{{ mingw64_autogen_args }}' + meson_args: '{{ mingw64_meson_args }}' diff --git a/guests/playbooks/build/projects/osinfo-db-tools.yml b/guests/playbooks/build/projects/osinfo-db-tools.yml index 9ef3672..4bb6236 100644 --- a/guests/playbooks/build/projects/osinfo-db-tools.yml +++ b/guests/playbooks/build/projects/osinfo-db-tools.yml @@ -16,9 +16,9 @@ git_url: '{{ git_urls["osinfo-db-tools"][git_remote] }}' - include: '{{ playbook_base }}/jobs/prepare.yml' -- include: '{{ playbook_base }}/jobs/autotools-build-job.yml' -- include: '{{ playbook_base }}/jobs/autotools-syntax-check-job.yml' -- include: '{{ playbook_base }}/jobs/autotools-check-job.yml' -- include: '{{ playbook_base }}/jobs/autotools-rpm-job.yml' +- include: '{{ playbook_base }}/jobs/meson-build-job.yml' +- include: '{{ playbook_base }}/jobs/meson-syntax-check-job.yml' +- include: '{{ playbook_base }}/jobs/meson-check-job.yml' +- include: '{{ playbook_base }}/jobs/meson-rpm-job.yml' vars: machines: '{{ rpm_machines }}' diff --git a/jenkins/projects/osinfo-db-tools+mingw32.yaml b/jenkins/projects/osinfo-db-tools+mingw32.yaml index d796ca1..fd4a950 100644 --- a/jenkins/projects/osinfo-db-tools+mingw32.yaml +++ b/jenkins/projects/osinfo-db-tools+mingw32.yaml @@ -6,7 +6,7 @@ archive_format: xz git_url: '{git_urls[osinfo-db-tools][default]}' jobs: - - autotools-build-job: + - meson-build-job: parent_jobs: local_env: '{mingw32_local_env}' - autogen_args: '{mingw32_autogen_args}' + meson_args: '{mingw32_meson_args}' diff --git a/jenkins/projects/osinfo-db-tools+mingw64.yaml b/jenkins/projects/osinfo-db-tools+mingw64.yaml index 7808fed..959c48c 100644 --- a/jenkins/projects/osinfo-db-tools+mingw64.yaml +++ b/jenkins/projects/osinfo-db-tools+mingw64.yaml @@ -6,7 +6,7 @@ archive_format: xz git_url: '{git_urls[osinfo-db-tools][default]}' jobs: - - autotools-build-job: + - meson-build-job: parent_jobs: local_env: '{mingw64_local_env}' - autogen_args: '{mingw64_autogen_args}' + meson_args: '{mingw64_meson_args}' diff --git a/jenkins/projects/osinfo-db-tools.yaml b/jenkins/projects/osinfo-db-tools.yaml index 503533a..15a95d3 100644 --- a/jenkins/projects/osinfo-db-tools.yaml +++ b/jenkins/projects/osinfo-db-tools.yaml @@ -14,12 +14,12 @@ archive_format: xz git_url: '{git_urls[osinfo-db-tools][default]}' jobs: - - autotools-build-job: + - meson-build-job: parent_jobs: - - autotools-syntax-check-job: + - meson-syntax-check-job: parent_jobs: 'osinfo-db-tools-build' - - autotools-check-job: + - meson-check-job: parent_jobs: 'osinfo-db-tools-syntax-check' - - autotools-rpm-job: + - meson-rpm-job: parent_jobs: 'osinfo-db-tools-check' machines: '{rpm_machines}' -- 2.21.0

On Tue, 2019-08-20 at 22:07 +0200, Fabiano Fidêncio wrote:
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- .../playbooks/build/projects/osinfo-db-tools+mingw32.yml | 4 ++-- .../playbooks/build/projects/osinfo-db-tools+mingw64.yml | 4 ++-- guests/playbooks/build/projects/osinfo-db-tools.yml | 8 ++++---- jenkins/projects/osinfo-db-tools+mingw32.yaml | 4 ++-- jenkins/projects/osinfo-db-tools+mingw64.yaml | 4 ++-- jenkins/projects/osinfo-db-tools.yaml | 8 ++++---- 6 files changed, 16 insertions(+), 16 deletions(-)
Reviewed-by: Andrea Bolognani <abologna@redhat.com> Let me know if you're okay with me making the changes I suggested before pushing, and let's coordinate so that they get applied as closely as possible to the moment you switch the build system upstream. -- Andrea Bolognani / Red Hat / Virtualization

On Mon, Aug 26, 2019 at 11:45 AM Andrea Bolognani <abologna@redhat.com> wrote:
On Tue, 2019-08-20 at 22:07 +0200, Fabiano Fidêncio wrote:
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- .../playbooks/build/projects/osinfo-db-tools+mingw32.yml | 4 ++-- .../playbooks/build/projects/osinfo-db-tools+mingw64.yml | 4 ++-- guests/playbooks/build/projects/osinfo-db-tools.yml | 8 ++++---- jenkins/projects/osinfo-db-tools+mingw32.yaml | 4 ++-- jenkins/projects/osinfo-db-tools+mingw64.yaml | 4 ++-- jenkins/projects/osinfo-db-tools.yaml | 8 ++++---- 6 files changed, 16 insertions(+), 16 deletions(-)
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Let me know if you're okay with me making the changes I suggested before pushing, and let's coordinate so that they get applied as closely as possible to the moment you switch the build system upstream.
Andrea, Firstly, thanks *a* *lot* for the reviews! Yes, I'm totally fine with you applying the changes, they all make sense. Let's coordinate to push these next Monday (September 2nd), as I'll be back to work by that date.
-- Andrea Bolognani / Red Hat / Virtualization
Best Regards, -- Fabiano Fidêncio

On Mon, 2019-08-26 at 16:02 +0300, Fabiano Fidêncio wrote:
On Mon, Aug 26, 2019 at 11:45 AM Andrea Bolognani <abologna@redhat.com> wrote:
Let me know if you're okay with me making the changes I suggested before pushing, and let's coordinate so that they get applied as closely as possible to the moment you switch the build system upstream.
Andrea,
Firstly, thanks *a* *lot* for the reviews!
Yes, I'm totally fine with you applying the changes, they all make sense. Let's coordinate to push these next Monday (September 2nd), as I'll be back to work by that date.
Sounds like a plan! Just remind me on Monday :) -- Andrea Bolognani / Red Hat / Virtualization
participants (2)
-
Andrea Bolognani
-
Fabiano Fidêncio