123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- ---
- <% vagrant = system('gem list -i kitchen-vagrant 2>/dev/null >/dev/null') %>
- <% version = '2018.3.3' %>
- <% platformsfile = ENV['SALT_KITCHEN_PLATFORMS'] || '.kitchen/platforms.yml' %>
- <% driverfile = ENV['SALT_KITCHEN_DRIVER'] || '.kitchen/driver.yml' %>
- <% verifierfile = ENV['SALT_KITCHEN_VERIFIER'] || '.kitchen/verifier.yml' %>
- <% if File.exists?(driverfile) %>
- <%= ERB.new(File.read(driverfile)).result %>
- <% else %>
- driver:
- name: docker
- use_sudo: false
- hostname: salt
- privileged: true
- username: kitchen
- volume:
- - /var/run/docker.sock:/docker.sock
- cap_add:
- - sys_admin
- disable_upstart: false
- provision_command:
- - echo 'L /run/docker.sock - - - - /docker.sock' > /etc/tmpfiles.d/docker.conf
- transport:
- name: rsync
- <% end %>
- provisioner:
- name: salt_solo
- salt_install: bootstrap
- salt_version: latest
- salt_bootstrap_url: https://bootstrap.saltstack.com
- salt_bootstrap_options: -X -p rsync git v<%= version %>
- log_level: info
- sudo: true
- require_chef: false
- retry_on_exit_code:
- - 139
- max_retries: 2
- remote_states:
- name: git://github.com/saltstack/salt-jenkins.git
- branch: master
- repo: git
- testingdir: /testing
- salt_copy_filter:
- - __pycache__
- - '*.pyc'
- - .bundle
- - .tox
- - .nox
- - .kitchen
- - artifacts
- - Gemfile.lock
- state_top:
- base:
- "os:Windows":
- - match: grain
- - windows
- "*":
- - <%= ENV['KITCHEN_STATE'] || 'git.salt' %>
- pillars:
- top.sls:
- base:
- "*":
- - jenkins
- "os:Windows":
- - match: grain
- - windows
- jenkins.sls:
- testing_dir: "{{salt.config.get('root_dir')|replace('\\', '\\\\')}}/testing"
- clone_repo: false
- salttesting_namespec: salttesting==2017.6.1
- windows.sls:
- virtualenv_path: 'c:\Python27\Scripts\pip.exe'
- <% if File.exists?(platformsfile) %>
- <%= ERB.new(File.read(platformsfile)).result %>
- <% else %>
- platforms:
- - name: fedora
- driver_config:
- image: fedora:latest
- run_command: /usr/lib/systemd/systemd
- provisioner:
- salt_bootstrap_options: -X -p rsync git v<%= version %> >/dev/null
- - name: centos-7
- driver_config:
- run_command: /usr/lib/systemd/systemd
- - name: centos-6
- driver_config:
- run_command: /sbin/init
- provision_command:
- - yum install -y upstart
- provisioner:
- salt_bootstrap_options: -P -p rsync -y -x python2.7 -X git v<%= version %> >/dev/null
- - name: ubuntu-18.04
- driver_config:
- run_command: /lib/systemd/systemd
- - name: ubuntu-16.04
- driver_config:
- run_command: /lib/systemd/systemd
- - name: ubuntu-14.04
- driver_config:
- run_command: /sbin/init
- provision_command:
- - rm -f /sbin/initctl
- - dpkg-divert --local --rename --remove /sbin/initctl
- - name: debian-8
- driver_config:
- run_command: /lib/systemd/systemd
- provision_command:
- - apt-get install -y dbus
- - echo 'L /run/docker.sock - - - - /docker.sock' > /etc/tmpfiles.d/docker.conf
- - name: debian-9
- driver_config:
- run_command: /lib/systemd/systemd
- - name: arch
- driver_config:
- image: archlinux/base
- run_command: /usr/lib/systemd/systemd
- provision_command:
- - pacman -Syu --noconfirm systemd
- - systemctl enable sshd
- - echo 'L /run/docker.sock - - - - /docker.sock' > /etc/tmpfiles.d/docker.conf
- provisioner:
- salt_bootstrap_options: -X -p rsync git v<%= version %> >/dev/null
- - name: opensuse-15
- driver_config:
- image: opensuse/leap:15.0
- run_command: /usr/lib/systemd/systemd
- provision_command:
- - zypper --non-interactive install --auto-agree-with-licenses dbus-1
- - systemctl enable sshd.service
- - echo 'L /run/docker.sock - - - - /docker.sock' > /etc/tmpfiles.d/docker.conf
- provisioner:
- salt_bootstrap_options: -qXU -x python2 git v<%= @version %>
- - name: opensuse-42.3
- driver_config:
- image: opensuse/leap:42.3
- run_command: /usr/lib/systemd/systemd
- provision_command:
- - zypper --non-interactive install --auto-agree-with-licenses dbus-1
- - systemctl enable sshd.service
- - echo 'L /run/docker.sock - - - - /docker.sock' > /etc/tmpfiles.d/docker.conf
- <% if vagrant != false %>
- - name: windows-2012r2
- driver:
- box: mwrock/Windows2012R2
- name: vagrant
- gui: true
- transport:
- name: winrm
- username: Administrator
- password: Pass@word1
- provisioner:
- init_environment: |
- Clear-Host
- $AddedLocation ="c:\salt;c:\salt\bin\Scripts"
- $Reg = "Registry::HKLM\System\CurrentControlSet\Control\Session Manager\Environment"
- $OldPath = (Get-ItemProperty -Path $Reg -Name PATH).Path
- $NewPath= $OldPath + ";" + $AddedLocation
- Set-ItemProperty -Path $Reg -Value $NewPath -Name PATH
- reg add "hklm\system\currentcontrolset\control\session manager\memory management" /v pagingfiles /t reg_multi_sz /d "d:\pagefile.sys 4096 8192" /f
- winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="5000"}'
- salt_bootstrap_url: https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/bootstrap-salt.ps1
- salt_bootstrap_options: ''
- verifier:
- windows: true
- types:
- - unit
- coverage_xml: false
- save:
- $env:TEMP/salt-runtests.log: artifacts/logs/salt-runtests.log
- /salt/var/log/salt/minion: artifacts/logs/minion
- - name: windows-2016
- driver:
- box: mwrock/Windows2016
- name: vagrant
- gui: true
- customize:
- cpus: 4
- memory: 8192
- transport:
- name: winrm
- username: Vagrant
- password: vagrant
- provisioner:
- salt_bootstrap_url: https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/bootstrap-salt.ps1
- salt_bootstrap_options: -version <%= version %>
- init_environment: |
- Clear-Host
- $AddedLocation ="c:\salt;c:\salt\bin\Scripts"
- $Reg = "Registry::HKLM\System\CurrentControlSet\Control\Session Manager\Environment"
- $OldPath = (Get-ItemProperty -Path $Reg -Name PATH).Path
- $NewPath= $OldPath + ";" + $AddedLocation
- Set-ItemProperty -Path $Reg -Value $NewPath -Name PATH
- reg add "hklm\system\currentcontrolset\control\session manager\memory management" /v pagingfiles /t reg_multi_sz /d "d:\pagefile.sys 4096 8192" /f
- winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="5000"}'
- salt_bootstrap_url: https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/bootstrap-salt.ps1
- salt_bootstrap_options: ''
- verifier:
- windows: true
- types:
- - unit
- coverage_xml: false
- xml: /tmp/xml-unittests-output/
- save:
- /tmp/xml-unittests-output/: artifacts/
- $env:TEMP/salt-runtests.log: artifacts/logs/salt-runtests.log
- /salt/var/log/salt/minion: artifacts/logs/minion
- <% end %>
- <% end %>
- suites:
- - name: py2
- verifier:
- python_bin: python2.7
- - name: py3
- excludes:
- - centos-6
- - ubuntu-14.04
- verifier:
- python_bin: python3
- provisioner:
- pillars:
- jenkins.sls:
- py3: true
- windows.sls:
- virtualenv_path: 'c:\Python35\Scripts\pip.exe'
- <% if File.exists?(verifierfile) %>
- <%= ERB.new(File.read(verifierfile)).result %>
- <% else %>
- verifier:
- name: runtests
- sudo: true
- run_destructive: true
- transport: zeromq
- enable_filenames: true
- types:
- - ssh
- xml: /tmp/xml-unittests-output/
- coverage_xml: /tmp/coverage.xml
- save:
- /tmp/xml-unittests-output: artifacts/
- /tmp/coverage.xml: artifacts/coverage/coverage.xml
- /tmp/kitchen/var/log/salt/minion: artifacts/logs/minion
- /tmp/salt-runtests.log: artifacts/logs/salt-runtests.log
- <% end %>
|