[libvirt] [jenkins-ci PATCH 00/12] lcitool: Add 'build' action

Andrea Bolognani abologna at redhat.com
Wed Aug 8 13:45:16 UTC 2018


Also known as [secret feature redacted] :)

This will be mostly useful for developers wanting to validate their
changes locally before posting patches, but it will also allow
CentOS CI maintainers to prime new guests before adding them to
Jenkins, thus avoiding the usual dance of starting and cancelling
several builds manually.

We duplicate quite a bit of information to implement this: that's
unfortunate, and I'll be looking into ways to get rid of such
duplication down the line, but IMHO the feature is useful enough
that it's better to have it out there in its current state rather
than witholding it until a less verbose implementation has been
figured out.

Dependencies between projects are still missing, so if you want to
build eg. libvirt-glib you'll have to take care of building libvirt
first yourself or face a failure.

The first few patches (1-5) tweak the Jenkins jobs and projects to
bring them to a point where they can be translated into Ansible
tasks almost verbatim; the remaining ones perform such translation
and implement the necessary Python glue.

Andrea Bolognani (12):
  projects: Add default machines for libvirt-dbus
  jobs: Rename git-url -> git_url
  jobs: Remove archive_format from defaults
  jobs: Move some parameters from jobs to defaults
  jobs: Declare empty values consistently
  guests: Add build jobs
  guests: Add build projects
  guests: Add build playbook
  lcitool: make playbook execution generic
  lcitool: Add 'build' action
  lcitool: Support building arbitrary branches
  lcitool: Document build action

 guests/README.markdown                        |  19 +++
 guests/lcitool                                | 109 ++++++++++--------
 .../build/jobs/autotools-build-job.yml        |  15 +++
 .../build/jobs/autotools-check-job.yml        |  16 +++
 .../build/jobs/autotools-rpm-job.yml          |  17 +++
 .../build/jobs/autotools-syntax-check-job.yml |  12 ++
 guests/playbooks/build/jobs/defaults.yml      |  33 ++++++
 .../build/jobs/generic-build-job.yml          |  11 ++
 .../build/jobs/generic-check-job.yml          |  11 ++
 .../playbooks/build/jobs/generic-rpm-job.yml  |  11 ++
 .../build/jobs/generic-syntax-check-job.yml   |  11 ++
 guests/playbooks/build/jobs/go-build-job.yml  |  11 ++
 guests/playbooks/build/jobs/go-check-job.yml  |  11 ++
 .../build/jobs/perl-modulebuild-build-job.yml |  13 +++
 .../build/jobs/perl-modulebuild-check-job.yml |  11 ++
 .../build/jobs/perl-modulebuild-rpm-job.yml   |  16 +++
 guests/playbooks/build/jobs/prepare.yml       |  19 +++
 .../build/jobs/python-distutils-build-job.yml |  13 +++
 .../build/jobs/python-distutils-check-job.yml |  11 ++
 .../build/jobs/python-distutils-rpm-job.yml   |  12 ++
 guests/playbooks/build/main.yml               |  16 +++
 guests/playbooks/build/projects/libosinfo.yml |  36 ++++++
 .../playbooks/build/projects/libvirt-cim.yml  |  10 ++
 .../playbooks/build/projects/libvirt-dbus.yml |  28 +++++
 .../playbooks/build/projects/libvirt-glib.yml |  38 ++++++
 .../build/projects/libvirt-go-xml.yml         |  13 +++
 .../playbooks/build/projects/libvirt-go.yml   |  13 +++
 .../playbooks/build/projects/libvirt-perl.yml |  19 +++
 .../build/projects/libvirt-python.yml         |  13 +++
 .../build/projects/libvirt-sandbox.yml        |  23 ++++
 .../playbooks/build/projects/libvirt-tck.yml  |  23 ++++
 guests/playbooks/build/projects/libvirt.yml   |  52 +++++++++
 .../build/projects/osinfo-db-tools.yml        |  36 ++++++
 guests/playbooks/build/projects/osinfo-db.yml |  25 ++++
 .../playbooks/build/projects/virt-manager.yml |  34 ++++++
 .../playbooks/build/projects/virt-viewer.yml  |  38 ++++++
 jobs/autotools.yaml                           |   3 +-
 jobs/defaults.yaml                            |   8 +-
 jobs/generic.yaml                             |   3 +-
 jobs/go.yaml                                  |   3 +-
 jobs/perl-modulebuild.yaml                    |   3 +-
 jobs/python-distutils.yaml                    |   3 +-
 projects/libosinfo.yaml                       |   3 +-
 projects/libvirt-cim.yaml                     |   3 +-
 projects/libvirt-dbus.yaml                    |  18 +--
 projects/libvirt-glib.yaml                    |   3 +-
 projects/libvirt-go-xml.yaml                  |   3 +-
 projects/libvirt-go.yaml                      |   3 +-
 projects/libvirt-perl.yaml                    |   3 +-
 projects/libvirt-python.yaml                  |   3 +-
 projects/libvirt-sandbox.yaml                 |   3 +-
 projects/libvirt-tck.yaml                     |   3 +-
 projects/libvirt.yaml                         |   2 +-
 projects/osinfo-db-tools.yaml                 |   3 +-
 projects/osinfo-db.yaml                       |   2 +-
 projects/virt-manager.yaml                    |   3 +-
 projects/virt-viewer.yaml                     |   3 +-
 57 files changed, 798 insertions(+), 82 deletions(-)
 create mode 100644 guests/playbooks/build/jobs/autotools-build-job.yml
 create mode 100644 guests/playbooks/build/jobs/autotools-check-job.yml
 create mode 100644 guests/playbooks/build/jobs/autotools-rpm-job.yml
 create mode 100644 guests/playbooks/build/jobs/autotools-syntax-check-job.yml
 create mode 100644 guests/playbooks/build/jobs/defaults.yml
 create mode 100644 guests/playbooks/build/jobs/generic-build-job.yml
 create mode 100644 guests/playbooks/build/jobs/generic-check-job.yml
 create mode 100644 guests/playbooks/build/jobs/generic-rpm-job.yml
 create mode 100644 guests/playbooks/build/jobs/generic-syntax-check-job.yml
 create mode 100644 guests/playbooks/build/jobs/go-build-job.yml
 create mode 100644 guests/playbooks/build/jobs/go-check-job.yml
 create mode 100644 guests/playbooks/build/jobs/perl-modulebuild-build-job.yml
 create mode 100644 guests/playbooks/build/jobs/perl-modulebuild-check-job.yml
 create mode 100644 guests/playbooks/build/jobs/perl-modulebuild-rpm-job.yml
 create mode 100644 guests/playbooks/build/jobs/prepare.yml
 create mode 100644 guests/playbooks/build/jobs/python-distutils-build-job.yml
 create mode 100644 guests/playbooks/build/jobs/python-distutils-check-job.yml
 create mode 100644 guests/playbooks/build/jobs/python-distutils-rpm-job.yml
 create mode 100644 guests/playbooks/build/main.yml
 create mode 100644 guests/playbooks/build/projects/libosinfo.yml
 create mode 100644 guests/playbooks/build/projects/libvirt-cim.yml
 create mode 100644 guests/playbooks/build/projects/libvirt-dbus.yml
 create mode 100644 guests/playbooks/build/projects/libvirt-glib.yml
 create mode 100644 guests/playbooks/build/projects/libvirt-go-xml.yml
 create mode 100644 guests/playbooks/build/projects/libvirt-go.yml
 create mode 100644 guests/playbooks/build/projects/libvirt-perl.yml
 create mode 100644 guests/playbooks/build/projects/libvirt-python.yml
 create mode 100644 guests/playbooks/build/projects/libvirt-sandbox.yml
 create mode 100644 guests/playbooks/build/projects/libvirt-tck.yml
 create mode 100644 guests/playbooks/build/projects/libvirt.yml
 create mode 100644 guests/playbooks/build/projects/osinfo-db-tools.yml
 create mode 100644 guests/playbooks/build/projects/osinfo-db.yml
 create mode 100644 guests/playbooks/build/projects/virt-manager.yml
 create mode 100644 guests/playbooks/build/projects/virt-viewer.yml

-- 
2.17.1




More information about the libvir-list mailing list