Puppet Class: psick::ci::danger

Defined in:
manifests/ci/danger.pp

Overview

This class installs and configures danger, used to automatically add comments to Merge/Push Requests during CI pipelines Danger homepage: danger.systems/

Parameters:

  • ensure (String) (defaults to: 'present')

    Define if to install (present), remote (absent) danger gems

  • use_gitlab (Boolean) (defaults to: false)

    If GitLab (and the relevant danger gem) is used

  • install_system_gems (Boolean) (defaults to: false)

    If to install danger gems on the system

  • install_puppet_gems (Boolean) (defaults to: true)

    If to install danger gems via puppet gem

  • plugins (Array) (defaults to: [ ])


10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'manifests/ci/danger.pp', line 10

class psick::ci::danger (
  String $ensure               = 'present',
  Array $plugins               = [ ],
  Boolean $use_gitlab          = false,
  Boolean $install_system_gems = false,
  Boolean $install_puppet_gems = true,
) {

  include ::psick::ruby

  $all_gems = $use_gitlab ? {
    true  => ['danger-gitlab'] + $plugins,
    false => ['danger'] + $plugins,
  }

  $all_gems.each | $gem | {
    if $install_system_gems {
      package { $gem:
        ensure   => $ensure,
        provider => 'gem',
        require  => Class['psick::ruby'],
      }
    }
    if $install_puppet_gems {
      package { "puppet_${gem}":
        ensure   => $ensure,
        name     => $gem,
        provider => 'puppet_gem',
        require  => Class['psick::ruby'],
      }
    }
  }
}