mirror of
https://github.com/saltstack/salt.git
synced 2025-04-16 09:40:20 +00:00
add kitchen tests
This commit is contained in:
parent
35352ec8ca
commit
f82173fb2e
3 changed files with 174 additions and 0 deletions
|
@ -3,6 +3,10 @@ stages:
|
|||
- lint
|
||||
- test
|
||||
|
||||
include:
|
||||
- local: 'cicd/kitchen_template.yml'
|
||||
- local: 'cicd/kitchen_testruns.yml'
|
||||
|
||||
# pre-commit-run-all:
|
||||
# image:
|
||||
# name: registry.gitlab.com/saltstack/pop/cicd/containers/ubuntu1804:latest
|
||||
|
|
47
cicd/kitchen_template.yml
Normal file
47
cicd/kitchen_template.yml
Normal file
|
@ -0,0 +1,47 @@
|
|||
|
||||
.run-kitchen:
|
||||
image: ruby:2.6.3
|
||||
stage: test
|
||||
tags:
|
||||
- saltstack-kitchen
|
||||
variables:
|
||||
FORCE_FULL: 'true'
|
||||
GOLDEN_IMAGES_CI_BRANCH: master
|
||||
NOX_ENABLE_FROM_FILENAMES: 'true'
|
||||
NOX_ENV_NAME: runtests-zeromq
|
||||
NOX_PASSTHROUGH_OPTS: '--ssh-tests'
|
||||
SALT_KITCHEN_DRIVER: kitchen-conf/driver.yml
|
||||
SALT_KITCHEN_PLATFORMS: kitchen-conf/nox-platforms.yml
|
||||
SALT_KITCHEN_VERIFIER: kitchen-conf/nox-verifier.yml
|
||||
TEST_SUITE: py3
|
||||
USE_SPOT_INSTANCES: 'true'
|
||||
script:
|
||||
- apt update
|
||||
- apt -y install moreutils rsync dos2unix
|
||||
- mkdir -p ~/.ssh
|
||||
- echo "${KITCHEN_SSHKEY}" | tr -d '\r' > ~/.ssh/kitchen.pem
|
||||
- chmod 700 ~/.ssh/
|
||||
- chmod 600 ~/.ssh/kitchen.pem
|
||||
- git clone https://gitlab.com/saltstack/open/cicd/kitchen-conf.git
|
||||
- bundle install --with ec2 windows --without docker vagrant
|
||||
- t=$(shuf -i 30-150 -n 1); echo "Sleeping $t seconds"; sleep $t
|
||||
- if [ "${USE_SPOT_INSTANCES}" == "true" ]; then cp -f kitchen-conf/spot.yml .kitchen.local.yml; fi
|
||||
- 'bundle exec kitchen create $TEST_SUITE-$TEST_PLATFORM || (bundle exec kitchen destroy $TEST_SUITE-$TEST_PLATFORM; rm .kitchen.local.yml; bundle exec kitchen create $TEST_SUITE-$TEST_PLATFORM)'
|
||||
- bundle exec kitchen diagnose $TEST_SUITE-$TEST_PLATFORM > kitchen-diagnose-info.txt
|
||||
- grep 'image_id:' kitchen-diagnose-info.txt
|
||||
- grep 'instance_type:' -A5 kitchen-diagnose-info.txt
|
||||
- rm -f kitchen-diagnose-info.txt
|
||||
- rm -f .kitchen.local.yml
|
||||
- ssh-agent /bin/bash -xc 'ssh-add ~/.ssh/kitchen.pem; bundle exec kitchen converge $TEST_SUITE-$TEST_PLATFORM'
|
||||
- TEST_EXIT_CODE=0
|
||||
- 'DONT_DOWNLOAD_ARTEFACTS=1 bundle exec kitchen verify $TEST_SUITE-$TEST_PLATFORM|ts -s || TEST_EXIT_CODE=$?'
|
||||
- 'ONLY_DOWNLOAD_ARTEFACTS=1 bundle exec kitchen verify $TEST_SUITE-$TEST_PLATFORM|ts -s || true'
|
||||
- bundle exec kitchen destroy $TEST_SUITE-$TEST_PLATFORM
|
||||
- exit $TEST_EXIT_CODE
|
||||
artifacts:
|
||||
when: always
|
||||
paths:
|
||||
- artifacts/
|
||||
- .kitchen/
|
||||
expire_in: 6 months
|
||||
|
123
cicd/kitchen_testruns.yml
Normal file
123
cicd/kitchen_testruns.yml
Normal file
|
@ -0,0 +1,123 @@
|
|||
|
||||
kitchen-amazon2-py3:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: amazon-2
|
||||
|
||||
kitchen-archlts-py3:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: arch-lts
|
||||
|
||||
kitchen-archlts-py3:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: arch-lts
|
||||
NOX_PASSTHROUGH_OPTS: '-n integration.modules.test_pkg'
|
||||
|
||||
kitchen-centos7-py3-m2crypto:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: centos-7
|
||||
NOX_ENV_NAME: runtests-zeromq-m2crypto
|
||||
|
||||
kitchen-centos7-py3-proxy:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: centos-7
|
||||
NOX_PASSTHROUGH_OPTS: '--proxy'
|
||||
|
||||
kitchen-centos7-py3-pycryptodomex:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: centos-7
|
||||
NOX_ENV_NAME: runtests-zeromq-pycryptodomex
|
||||
|
||||
kitchen-centos7-py3:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: centos-7
|
||||
|
||||
kitchen-centos7-py3-tcp:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: centos-7
|
||||
NOX_ENV_NAME: runtests-tcp
|
||||
|
||||
kitchen-centos8-py3:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: centos-8
|
||||
|
||||
kitchen-debian9-py3:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: debian-9
|
||||
|
||||
kitchen-debian10-py3:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: debian-10
|
||||
|
||||
kitchen-fedora30-py3:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: fedora-30
|
||||
|
||||
kitchen-fedora31-py3:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: fedora-31
|
||||
|
||||
kitchen-opensuse15-py3:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: opensuse-15
|
||||
|
||||
kitchen-ubuntu1604-py3-m2crypto:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: ubuntu-1604
|
||||
NOX_ENV_NAME: runtests-zeromq-m2crypto
|
||||
|
||||
kitchen-ubuntu1604-py3-proxy:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: ubuntu-1604
|
||||
NOX_PASSTHROUGH_OPTS: '--proxy'
|
||||
|
||||
kitchen-ubuntu1604-py3-pycryptodomex:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: ubuntu-1604
|
||||
NOX_ENV_NAME: runtests-zeromq-pycryptodomex
|
||||
|
||||
kitchen-ubuntu1604-py3:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: ubuntu-1604
|
||||
|
||||
kitchen-ubuntu1604-py3-tcp:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: ubuntu-1604
|
||||
NOX_ENV_NAME: runtests-tcp
|
||||
|
||||
kitchen-ubuntu1804-py3:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: ubuntu-1804
|
||||
|
||||
kitchen-windows2016-py3:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: windows-2016
|
||||
NOX_PASSTHROUGH_OPTS: '--unit'
|
||||
USE_SPOT_INSTANCES: 'false'
|
||||
|
||||
kitchen-windows2019-py3:
|
||||
extends: .run-kitchen
|
||||
variables:
|
||||
TEST_PLATFORM: windows-2019
|
||||
NOX_PASSTHROUGH_OPTS: '--unit'
|
||||
USE_SPOT_INSTANCES: 'false'
|
Loading…
Add table
Reference in a new issue