Introduce puppet module build job

Introduce a new non-voting job (for now) that will test "puppet module
build" everytime we touch metadata.json.

Indeed, we have seen broken release jobs because module could not be
built and it could have been cought by this CI job.

Run this job for all Puppet modules that has a metadata.json and already
run lint+syntax jobs, it's non voting for now and once it works fine
everywhere, we'll make it vote.

Change-Id: I38e8194494c70b47ea05171467633bfd92ddd4c8
This commit is contained in:
Emilien Macchi 2017-01-26 15:31:02 -05:00
parent 151b2d61c8
commit e088e32aaa
2 changed files with 24 additions and 0 deletions

View File

@ -317,6 +317,24 @@
- devstack-logs
- console-log
- job-template:
name: 'gate-{name}-puppet-module-build-nv'
node: '{node}'
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- zuul-clone:
project: $ZUUL_PROJECT
- install-distro-packages
- puppet-prepare-node
- allow-local-ssh-root
- shell: |
#!/bin/bash -xe
cd $ZUUL_PROJECT
puppet module build .
wrappers:
- build-timeout:
timeout: 60
@ -354,6 +372,7 @@
jobs:
- 'gate-{name}-puppet-lint'
- 'gate-{name}-puppet-syntax'
- 'gate-{name}-puppet-module-build-nv'
- 'gate-{name}-puppet-syntax-{puppet_version}-{node}'
- job-group:

View File

@ -994,6 +994,7 @@ project-templates:
- gate-{name}-puppet-lint
- gate-{name}-puppet-syntax-3-centos-7
- gate-{name}-puppet-syntax-4-centos-7
- gate-{name}-puppet-module-build-nv
gate:
- gate-{name}-puppet-lint
- gate-{name}-puppet-syntax-3-centos-7
@ -1796,6 +1797,10 @@ jobs:
- ^doc/.*$
- ^releasenotes/.*$
# Only run the puppet module build job on metadata.json updates
- name: ^gate-puppet-.*module-build.*$
files: ^metadata.json$
# tripleo OVB jobs that do not run via tripleo-quickstart do not need to run
# on patches that only touch the scripts/quickstart directory. This will save
# a ton of resources while iterating on the tripleo-quickstart based CI.