- job-template:
    name: 'gate-{name}-chef-unit'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 60
      - timestamps

    builders:
      - gerrit-git-prep
      - ruby-191-prep
      - chef-bundler-prep
      - revoke-sudo
      - chef-berkshelf-prep
      - chef-cookbook-chefspec

    publishers:
      - console-log

# this job template requires a bootstrap.sh script (which installs chefdk and other dependencies)
# and a Rakefile with the tests that should be executed in the cookbook
- job-template:
    name: 'gate-{name}-chef-rake'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 60
      - timestamps

    builders:
      - gerrit-git-prep
      - chef-bootstrap
      - revoke-sudo
      - chef-rake-test

    publishers:
      - console-log

- job-template:
    name: 'gate-{name}-chef-lint'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 60
      - timestamps

    builders:
      - gerrit-git-prep
      - ruby-191-prep
      - chef-bundler-prep
      - revoke-sudo
      - chef-berkshelf-prep
      - chef-cookbook-foodcritic

    publishers:
      - console-log

- job-template:
    name: 'gate-{name}-chef-style'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 60
      - timestamps

    builders:
      - gerrit-git-prep
      - ruby-191-prep
      - chef-bundler-prep
      - revoke-sudo
      - chef-berkshelf-prep
      - chef-cookbook-rubocop

    publishers:
      - console-log

- job:
    name: gate-openstack-chef-repo
    node: 'bare-precise || bare-trusty'

    builders:
      - gerrit-git-prep
      - ruby-191-prep
      - chef-bundler-prep
      - revoke-sudo
      - chef-berkshelf-prep
      - shell: |
          #!/bin/bash -xe
          # Validates roles
          bundle exec spiceweasel infrastructure.yml --debug

    publishers:
      - console-log