- builder: name: puppet-openstack-integration-checkout builders: - shell: | #!/bin/bash -xe export ZUUL_REF=${ZUUL_REF:-None} CLONEMAP=`mktemp` function cleanup { rm -f $CLONEMAP } trap cleanup EXIT cat > $CLONEMAP << EOF clonemap: - name: openstack/puppet-openstack-integration dest: puppet-openstack-integration EOF /usr/zuul-env/bin/zuul-cloner -m $CLONEMAP --cache-dir /opt/git \ git://git.openstack.org openstack/puppet-openstack-integration - job-template: name: 'gate-{name}-puppet-unit-{puppet_version}-{node}' node: '{node}' builders: - print-template-name: template-name: "{template-name}" - gerrit-git-prep - install-distro-packages - puppet-prepare-node - revoke-sudo - shell: | if [ "{puppet_version}" != "latest" ]; then export PUPPET_GEM_VERSION='~> {puppet_version}.0' fi mkdir .bundled_gems export GEM_HOME=`pwd`/.bundled_gems gem install bundler --no-rdoc --no-ri --verbose $GEM_HOME/bin/bundle install --retry 3 $GEM_HOME/bin/bundle exec rake spec SPEC_OPTS='--format documentation' wrappers: - build-timeout: timeout: 60 - timestamps publishers: - console-log - job-template: name: 'gate-{name}-puppet-beaker-rspec-{node}{job-suffix}' node: '{node}' builders: - print-template-name: template-name: "{template-name}" - link-logs - gerrit-git-prep - puppet-openstack-integration-checkout - install-distro-packages - puppet-prepare-node - allow-local-ssh-root - shell: | trap "puppet-openstack-integration/copy_logs.sh" EXIT mkdir .bundled_gems export GEM_HOME=`pwd`/.bundled_gems gem install bundler --no-rdoc --no-ri --verbose $GEM_HOME/bin/bundle install --retry 3 export BEAKER_set=nodepool-{ostype} export BEAKER_debug=yes export BEAKER_color=no # deploy puppet4 on experimental beaker jobs # https://tickets.puppetlabs.com/browse/BKR-821 if [ "{node}" == "ubuntu-xenial" ]; then export PUPPET_INSTALL_TYPE=agent export PUPPET_MAJ_VERSION=4 fi $GEM_HOME/bin/bundle exec rspec spec/acceptance wrappers: - build-timeout: timeout: 60 - timestamps publishers: - devstack-logs - console-log - job-template: name: '{name}-forge-upload' node: release builders: - print-template-name: template-name: "{template-name}" - revoke-sudo - gerrit-git-prep - shell: | #!/bin/bash cat > Rakefile << EOF require 'puppet_blacksmith/rake_tasks' EOF TAG=${{ZUUL_REF:10}} sed -i -e 's/ "version":.*/ "version": "'$TAG'",/' metadata.json mkdir .bundled_gems export GEM_HOME=`pwd`/.bundled_gems gem install --no-ri --no-rdoc puppetlabs_spec_helper puppet-blacksmith rake module:push publishers: - console-log - job-template: name: 'gate-{name}-puppet-lint' node: ubuntu-trusty builders: - print-template-name: template-name: "{template-name}" - gerrit-git-prep - install-distro-packages - puppet-prepare-node - revoke-sudo - puppet-lint publishers: - console-log - job-template: name: 'gate-{name}-puppet-syntax' node: ubuntu-trusty builders: - print-template-name: template-name: "{template-name}" - gerrit-git-prep - install-distro-packages - revoke-sudo - puppet-syntax publishers: - console-log - job-template: name: 'gate-{name}-puppet-syntax-{puppet_version}-{node}' node: '{node}' builders: - print-template-name: template-name: "{template-name}" - gerrit-git-prep - install-distro-packages - puppet-prepare-node - revoke-sudo - shell: | export PUPPET_GEM_VERSION='~> {puppet_version}' mkdir .bundled_gems export GEM_HOME=`pwd`/.bundled_gems gem install bundler --no-rdoc --no-ri --verbose $GEM_HOME/bin/bundle install --retry 3 # FUTURE_PARSER=yes is only supported by Puppet 3.x if [ "{puppet_version}" -lt "4" ]; then export FUTURE_PARSER=yes fi $GEM_HOME/bin/bundle exec rake syntax publishers: - console-log - job-template: name: 'gate-puppet-openstack-integration-dsvm-multinode{job-suffix}' node: '{node}' builders: - print-template-name: template-name: "{template-name}" - link-logs - puppet-openstack-integration-checkout - shell: | #!/bin/bash -xe export PACKAGES=puppet-openstack-integration/other-requirements.txt /usr/local/jenkins/slave_scripts/install-distro-packages.sh - shell: | #!/bin/bash -xe cd puppet-openstack-integration trap "./copy_logs.sh" EXIT ./run_multinode.sh wrappers: - build-timeout: timeout: 60 - timestamps publishers: - devstack-logs - console-log - job-template: name: 'gate-puppet-openstack-integration-{puppet_version}-{scenario}-tempest-{node}{job-suffix}' node: '{node}' builders: - print-template-name: template-name: "{template-name}" - link-logs - puppet-openstack-integration-checkout - shell: | #!/bin/bash -xe export PACKAGES=puppet-openstack-integration/other-requirements.txt /usr/local/jenkins/slave_scripts/install-distro-packages.sh - puppet-prepare-node - shell: | #!/bin/bash -xe cd puppet-openstack-integration trap "./copy_logs.sh" EXIT export PUPPET_MAJ_VERSION={puppet_version} export SCENARIO={scenario} mkdir .bundled_gems export GEM_HOME=`pwd`/.bundled_gems gem install bundler --no-rdoc --no-ri --verbose ./run_tests.sh wrappers: - build-timeout: timeout: 60 - timestamps publishers: - devstack-logs - console-log - job-template: name: 'gate-puppet-openstack-spec-helper-lint-{node}' node: '{node}' builders: - print-template-name: template-name: "{template-name}" - link-logs - zuul-clone: project: openstack/puppet-openstack_spec_helper - install-distro-packages - puppet-prepare-node - shell: | #!/bin/bash -xe cd openstack/puppet-openstack_spec_helper ./run_lint_tests.sh wrappers: - build-timeout: timeout: 60 - timestamps publishers: - console-log - job-template: name: 'gate-puppet-openstack-spec-helper-syntax-{puppet_version}-{node}' node: '{node}' builders: - print-template-name: template-name: "{template-name}" - link-logs - zuul-clone: project: openstack/puppet-openstack_spec_helper - install-distro-packages - puppet-prepare-node - shell: | #!/bin/bash -xe cd openstack/puppet-openstack_spec_helper # FUTURE_PARSER=yes is only supported by Puppet 3.x if [ "{puppet_version}" -lt "4" ]; then export FUTURE_PARSER=yes fi export PUPPET_GEM_VERSION='~> {puppet_version}' ./run_syntax_tests.sh wrappers: - build-timeout: timeout: 60 - timestamps publishers: - console-log - job-template: name: 'gate-puppet-openstack-spec-helper-unit-{node}' node: '{node}' builders: - print-template-name: template-name: "{template-name}" - link-logs - zuul-clone: project: openstack/puppet-openstack_spec_helper - install-distro-packages - puppet-prepare-node - shell: | #!/bin/bash -xe cd openstack/puppet-openstack_spec_helper ./run_unit_tests.sh wrappers: - build-timeout: timeout: 60 - timestamps publishers: - console-log - job-template: name: 'gate-puppet-openstack-spec-helper-beaker-rspec-{node}' node: '{node}' builders: - print-template-name: template-name: "{template-name}" - link-logs - puppet-openstack-integration-checkout - zuul-clone: project: openstack/puppet-openstack_spec_helper - install-distro-packages - puppet-prepare-node - allow-local-ssh-root - shell: | #!/bin/bash -xe cd openstack/puppet-openstack_spec_helper trap "../../puppet-openstack-integration/copy_logs.sh" EXIT ./run_beaker_tests.sh wrappers: - build-timeout: timeout: 60 - timestamps publishers: - devstack-logs - console-log - job-template: name: 'gate-{name}-puppet-{puppet_version}-cookiecutter-check{job-suffix}' node: centos-7 builders: - gerrit-git-prep - install-distro-packages - puppet-prepare-node - shell: | #!/bin/bash -xe mkdir .bundled_gems export PUPPET_GEM_VERSION='~> {puppet_version}' export GEM_HOME=`pwd`/.bundled_gems gem install bundler --no-rdoc --no-ri --verbose OS_NEW_MODULE_TEST=yes bash -x ./contrib/bootstrap.sh whazz dummy cd puppet-whazz/puppet-modulesync-configs/modules/puppet-whazz $GEM_HOME/bin/bundle install --retry 3 $GEM_HOME/bin/bundle exec rake lint $GEM_HOME/bin/bundle exec rake validate $GEM_HOME/bin/bundle exec rake spec wrappers: - build-timeout: timeout: 60 - timestamps publishers: - console-log - job: name: propose-puppet-openstack-constraints node: proposal builders: - proposal-slave-cleanup - revoke-sudo - link-logs - branch-git-prep: branch: master - net-info - shell: | export ZUUL_REFNAME=master /usr/local/jenkins/slave_scripts/propose_update.sh \ puppet-openstack-constraints publishers: - console-log - job: name: propose-puppet-openstack-rdo-promote node: proposal builders: - proposal-slave-cleanup - revoke-sudo - link-logs - branch-git-prep: branch: master - net-info - shell: | export ZUUL_REFNAME=master /usr/local/jenkins/slave_scripts/propose_update.sh \ puppet-openstack-rdo-promote publishers: - console-log - job-group: name: 'puppet-check-jobs' puppet_version: - 3 - 4 node: - centos-7 jobs: - 'gate-{name}-puppet-lint' - 'gate-{name}-puppet-syntax' - 'gate-{name}-puppet-syntax-{puppet_version}-{node}' - job-group: name: 'puppet-module-unit' puppet_version: - 3.3 - 3.4 - 3.6 - 3.7 - 3.8 - 4.0 - 4.5 - 'latest' puppet_unit_version: '3.3 3.4 3.6 3.7 3.8 4.0 4.5 latest' node: - centos-7 jobs: - 'gate-{name}-puppet-unit-{puppet_version}-{node}' - job-group: name: 'puppet-beaker-jobs-trusty' ostype: trusty node: - ubuntu-trusty jobs: - 'gate-{name}-puppet-beaker-rspec-{node}{job-suffix}' - job-group: name: 'puppet-beaker-jobs-xenial' ostype: xenial node: - ubuntu-xenial jobs: - 'gate-{name}-puppet-beaker-rspec-{node}{job-suffix}' - job-group: name: 'puppet-beaker-jobs-centos7' ostype: centos7 node: - centos-7 jobs: - 'gate-{name}-puppet-beaker-rspec-{node}{job-suffix}' - job-group: name: 'puppet-openstack-cookiecutter-check-jobs' puppet_version: - 3 - 4 jobs: - 'gate-{name}-puppet-{puppet_version}-cookiecutter-check{job-suffix}' - job-group: name: 'puppet-openstack-integration-jobs' puppet_version: - 3 - 4 node: - ubuntu-trusty - ubuntu-xenial - centos-7 scenario: - scenario001 - scenario002 - scenario003 jobs: - 'gate-puppet-openstack-integration-{puppet_version}-{scenario}-tempest-{node}{job-suffix}' - job-group: name: 'puppet-openstack-spec-helper-jobs' node: - centos-7 puppet_version: - 3 - 4 jobs: - 'gate-puppet-openstack-spec-helper-lint-{node}' - 'gate-puppet-openstack-spec-helper-syntax-{puppet_version}-{node}' - 'gate-puppet-openstack-spec-helper-unit-{node}' - 'gate-puppet-openstack-spec-helper-beaker-rspec-{node}'