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