2
0

ci(kitchen+travis): adjust matrix to add 3000 & remove 2017.7

* Semi-automated using https://github.com/myii/ssf-formula/pull/135
This commit is contained in:
Imran Iqbal 2020-03-21 11:30:25 +00:00
parent f246a5e0af
commit 4a5f8053e9
6 changed files with 254 additions and 89 deletions

View File

@ -58,30 +58,27 @@ jobs:
## Define the rest of the matrix based on Kitchen testing ## Define the rest of the matrix based on Kitchen testing
# Make sure the instances listed below match up with # Make sure the instances listed below match up with
# the `platforms` defined in `kitchen.yml` # the `platforms` defined in `kitchen.yml`
# The ordering used below has been selected based on the time required in Travis - env: INSTANCE=v3000-py3-debian-10-3000-py3
# The slower ones are kept as high up as possible, to run concurrently rather than - env: INSTANCE=v3000-py3-ubuntu-1804-3000-py3
# slow down the entire run at the end (i.e. `centos-6` and `opensuse`) - env: INSTANCE=v3000-py3-centos-8-3000-py3
# However, the groupings needed to be maintained in some semblance of order - env: INSTANCE=v3000-py3-fedora-31-3000-py3
# so this is a best-effort matrix, in the circumstances # - env: INSTANCE=v3000-py3-opensuse-leap-151-3000-py3
# - env: INSTANCE=v201707-py2-debian-8-2017-7-py2 - env: INSTANCE=v3000-py3-amazonlinux-2-3000-py3
- env: INSTANCE=v201707-py2-ubuntu-1604-2017-7-py2 # - env: INSTANCE=v3000-py2-arch-base-latest-3000-py2
- env: INSTANCE=v201707-py2-centos-6-2017-7-py2 # - env: INSTANCE=v201902-py3-debian-10-2019-2-py3
# - env: INSTANCE=v201707-py2-amazonlinux-1-2017-7-py2 - env: INSTANCE=v201902-py3-debian-9-2019-2-py3
# - env: INSTANCE=v201707-py2-arch-base-latest-2017-7-py2
- env: INSTANCE=v201803-py2-debian-9-2018-3-py2
# - env: INSTANCE=v201803-py2-ubuntu-1604-2018-3-py2
- env: INSTANCE=v201803-py2-centos-7-2018-3-py2
# - env: INSTANCE=v201803-py2-amazonlinux-1-2018-3-py2
# - env: INSTANCE=v201803-py2-arch-base-latest-2018-3-py2
- env: INSTANCE=v201902-py2-ubuntu-1804-2019-2-py2
# - env: INSTANCE=v201902-py2-centos-7-2019-2-py2
- env: INSTANCE=v201902-py3-amazonlinux-2-2019-2-py3
# - env: INSTANCE=v201902-py2-arch-base-latest-2019-2-py2
- env: INSTANCE=v201902-py3-debian-10-2019-2-py3
# - env: INSTANCE=v201902-py3-debian-9-2019-2-py3
# - env: INSTANCE=v201902-py3-ubuntu-1804-2019-2-py3 # - env: INSTANCE=v201902-py3-ubuntu-1804-2019-2-py3
# - env: INSTANCE=v201902-py3-centos-8-2019-2-py3 # - env: INSTANCE=v201902-py3-centos-8-2019-2-py3
- env: INSTANCE=v201902-py3-opensuse-leap-151-2019-2-py3 - env: INSTANCE=v201902-py3-opensuse-leap-151-2019-2-py3
# - env: INSTANCE=v201902-py3-amazonlinux-2-2019-2-py3
- env: INSTANCE=v201902-py2-ubuntu-1804-2019-2-py2
# - env: INSTANCE=v201902-py2-centos-7-2019-2-py2
# - env: INSTANCE=v201902-py2-arch-base-latest-2019-2-py2
# - env: INSTANCE=v201803-py2-debian-9-2018-3-py2
- env: INSTANCE=v201803-py2-ubuntu-1604-2018-3-py2
- env: INSTANCE=v201803-py2-centos-7-2018-3-py2
# - env: INSTANCE=v201803-py2-amazonlinux-1-2018-3-py2
# - env: INSTANCE=v201803-py2-arch-base-latest-2018-3-py2
## Define the release stage that runs `semantic-release` ## Define the release stage that runs `semantic-release`
- stage: 'release' - stage: 'release'

View File

@ -11,59 +11,36 @@ driver:
# Make sure the platforms listed below match up with # Make sure the platforms listed below match up with
# the `env.matrix` instances defined in `.travis.yml` # the `env.matrix` instances defined in `.travis.yml`
platforms: platforms:
## SALT `2017.7` ## SALT `3000`
- name: debian-8-2017-7-py2 - name: debian-10-3000-py3
driver: driver:
image: netmanagers/salt-2017.7-py2:debian-8 image: netmanagers/salt-3000-py3:debian-10
- name: ubuntu-1604-2017-7-py2 - name: ubuntu-1804-3000-py3
driver: driver:
image: netmanagers/salt-2017.7-py2:ubuntu-16.04 image: netmanagers/salt-3000-py3:ubuntu-18.04
- name: centos-6-2017-7-py2 - name: centos-8-3000-py3
driver: driver:
image: netmanagers/salt-2017.7-py2:centos-6 image: netmanagers/salt-3000-py3:centos-8
run_command: /sbin/init - name: fedora-31-3000-py3
- name: amazonlinux-1-2017-7-py2
driver: driver:
image: netmanagers/salt-2017.7-py2:amazonlinux-1 image: netmanagers/salt-3000-py3:fedora-31
run_command: /sbin/init - name: opensuse-leap-151-3000-py3
- name: arch-base-latest-2017-7-py2
driver: driver:
image: netmanagers/salt-2017.7-py2:arch-base-latest image: netmanagers/salt-3000-py3:opensuse-leap-15.1
run_command: /usr/lib/systemd/systemd run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
## SALT `2018.3` # => SCP did not finish successfully (255): (Net::SCP::Error)
- name: debian-9-2018-3-py2 transport:
max_ssh_sessions: 1
- name: amazonlinux-2-3000-py3
driver: driver:
image: netmanagers/salt-2018.3-py2:debian-9 image: netmanagers/salt-3000-py3:amazonlinux-2
- name: ubuntu-1604-2018-3-py2 - name: arch-base-latest-3000-py2
driver: driver:
image: netmanagers/salt-2018.3-py2:ubuntu-16.04 image: netmanagers/salt-3000-py2:arch-base-latest
- name: centos-7-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:centos-7
- name: amazonlinux-1-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:amazonlinux-1
run_command: /sbin/init
- name: arch-base-latest-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd run_command: /usr/lib/systemd/systemd
## SALT `2019.2` ## SALT `2019.2`
- name: ubuntu-1804-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:ubuntu-18.04
- name: centos-7-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:centos-7
- name: amazonlinux-2-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:amazonlinux-2
- name: arch-base-latest-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd
- name: debian-10-2019-2-py3 - name: debian-10-2019-2-py3
driver: driver:
image: netmanagers/salt-2019.2-py3:debian-10 image: netmanagers/salt-2019.2-py3:debian-10
@ -87,6 +64,38 @@ platforms:
# => SCP did not finish successfully (255): (Net::SCP::Error) # => SCP did not finish successfully (255): (Net::SCP::Error)
transport: transport:
max_ssh_sessions: 1 max_ssh_sessions: 1
- name: amazonlinux-2-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:amazonlinux-2
- name: ubuntu-1804-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:ubuntu-18.04
- name: centos-7-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:centos-7
- name: arch-base-latest-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd
## SALT `2018.3`
- name: debian-9-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:debian-9
- name: ubuntu-1604-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:ubuntu-16.04
- name: centos-7-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:centos-7
- name: amazonlinux-1-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:amazonlinux-1
run_command: /sbin/init
- name: arch-base-latest-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd
provisioner: provisioner:
name: salt_solo name: salt_solo
@ -107,6 +116,55 @@ verifier:
- cli - cli
suites: suites:
- name: v3000-py3
includes:
- debian-10-3000-py3
- ubuntu-1804-3000-py3
- centos-8-3000-py3
- fedora-31-3000-py3
- opensuse-leap-151-3000-py3
- amazonlinux-2-3000-py3
provisioner:
state_top:
base:
'*':
- salt.pkgrepo
- salt.master
- salt.minion
pillars:
top.sls:
base:
'*':
- salt
- v3000-py3
pillars_from_files:
salt.sls: test/salt/pillar/salt.sls
v3000-py3.sls: test/salt/pillar/v3000-py3.sls
verifier:
inspec_tests:
- path: test/integration/v3000-py3
- name: v3000-py2
includes:
- arch-base-latest-3000-py2
provisioner:
state_top:
base:
'*':
- salt.pkgrepo
- salt.master
- salt.minion
pillars:
top.sls:
base:
'*':
- salt
- v3000-py2
pillars_from_files:
salt.sls: test/salt/pillar/salt.sls
v3000-py2.sls: test/salt/pillar/v3000-py2.sls
verifier:
inspec_tests:
- path: test/integration/v3000-py2
- name: v201902-py3 - name: v201902-py3
includes: includes:
- debian-10-2019-2-py3 - debian-10-2019-2-py3
@ -184,29 +242,3 @@ suites:
verifier: verifier:
inspec_tests: inspec_tests:
- path: test/integration/v201803-py2 - path: test/integration/v201803-py2
- name: v201707-py2
includes:
- debian-8-2017-7-py2
- ubuntu-1604-2017-7-py2
- centos-6-2017-7-py2
- amazonlinux-1-2017-7-py2
- arch-base-latest-2017-7-py2
provisioner:
state_top:
base:
'*':
- salt.pkgrepo
- salt.master
- salt.minion
pillars:
top.sls:
base:
'*':
- salt
- v201707-py2
pillars_from_files:
salt.sls: test/salt/pillar/salt.sls
v201707-py2.sls: test/salt/pillar/v201707-py2.sls
verifier:
inspec_tests:
- path: test/integration/v201707-py2

View File

@ -0,0 +1,50 @@
# InSpec Profile: `v3000-py2`
This shows the implementation of the `v3000-py2` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md).
## Verify a profile
InSpec ships with built-in features to verify a profile structure.
```bash
$ inspec check v3000-py2
Summary
-------
Location: v3000-py2
Profile: profile
Controls: 4
Timestamp: 2019-06-24T23:09:01+00:00
Valid: true
Errors
------
Warnings
--------
```
## Execute a profile
To run all **supported** controls on a local machine use `inspec exec /path/to/profile`.
```bash
$ inspec exec v3000-py2
..
Finished in 0.0025 seconds (files took 0.12449 seconds to load)
8 examples, 0 failures
```
## Execute a specific control from a profile
To run one control from the profile use `inspec exec /path/to/profile --controls name`.
```bash
$ inspec exec v3000-py2 --controls package
.
Finished in 0.0025 seconds (files took 0.12449 seconds to load)
1 examples, 0 failures
```
See an [example control here](https://github.com/inspec/inspec/blob/master/examples/profile/controls/example.rb).

View File

@ -0,0 +1,18 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: v3000-py2
title: salt formula
maintainer: SaltStack Formulas
license: Apache-2.0
summary: Verify that Salt `v3000-py2` is setup and configured
supports:
- platform-name: debian
- platform-name: ubuntu
- platform-name: centos
- platform-name: fedora
- platform-name: opensuse
- platform-name: suse
- platform-name: freebsd
- platform-name: amazon
- platform-name: arch

View File

@ -0,0 +1,50 @@
# InSpec Profile: `v3000-py3`
This shows the implementation of the `v3000-py3` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md).
## Verify a profile
InSpec ships with built-in features to verify a profile structure.
```bash
$ inspec check v3000-py3
Summary
-------
Location: v3000-py3
Profile: profile
Controls: 4
Timestamp: 2019-06-24T23:09:01+00:00
Valid: true
Errors
------
Warnings
--------
```
## Execute a profile
To run all **supported** controls on a local machine use `inspec exec /path/to/profile`.
```bash
$ inspec exec v3000-py3
..
Finished in 0.0025 seconds (files took 0.12449 seconds to load)
8 examples, 0 failures
```
## Execute a specific control from a profile
To run one control from the profile use `inspec exec /path/to/profile --controls name`.
```bash
$ inspec exec v3000-py3 --controls package
.
Finished in 0.0025 seconds (files took 0.12449 seconds to load)
1 examples, 0 failures
```
See an [example control here](https://github.com/inspec/inspec/blob/master/examples/profile/controls/example.rb).

View File

@ -0,0 +1,18 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: v3000-py3
title: salt formula
maintainer: SaltStack Formulas
license: Apache-2.0
summary: Verify that Salt `v3000-py3` is setup and configured
supports:
- platform-name: debian
- platform-name: ubuntu
- platform-name: centos
- platform-name: fedora
- platform-name: opensuse
- platform-name: suse
- platform-name: freebsd
- platform-name: amazon
- platform-name: arch