From 480b7edbfbe58532df89eebc59f8b2b48922327c Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Thu, 22 Apr 2021 08:40:02 +0100 Subject: [PATCH] ci(kitchen+gitlab): adjust matrix to add `3003` * Semi-automated using https://github.com/myii/ssf-formula/pull/318 --- .github/workflows/kitchen.vagrant.yml | 4 +- .github/workflows/kitchen.windows.yml | 4 +- .gitlab-ci.yml | 109 ++--- .travis.yml | 109 ++--- kitchen.vagrant.yml | 10 + kitchen.windows.yml | 2 +- kitchen.yml | 381 +++++++++++------- test/integration/v3003-py3/README.md | 50 +++ .../v3003-py3/controls/_mapdata.rb | 47 +++ test/integration/v3003-py3/inspec.yml | 25 ++ 10 files changed, 502 insertions(+), 239 deletions(-) create mode 100644 test/integration/v3003-py3/README.md create mode 100644 test/integration/v3003-py3/controls/_mapdata.rb create mode 100644 test/integration/v3003-py3/inspec.yml diff --git a/.github/workflows/kitchen.vagrant.yml b/.github/workflows/kitchen.vagrant.yml index 43a1b48..ec522f3 100644 --- a/.github/workflows/kitchen.vagrant.yml +++ b/.github/workflows/kitchen.vagrant.yml @@ -18,8 +18,8 @@ jobs: - v3002-py3-freebsd-122-3002-6-py3 - v3002-py3-freebsd-114-3002-6-py3 - v3001-py3-openbsd-68-3001-1-py3 - - v3002-py3-windows-10-latest-py3 - - v3002-py3-windows-81-latest-py3 + - v3003-py3-windows-10-latest-py3 + - v3003-py3-windows-81-latest-py3 steps: - name: 'Check out code' uses: 'actions/checkout@v2' diff --git a/.github/workflows/kitchen.windows.yml b/.github/workflows/kitchen.windows.yml index be35bf8..d49f492 100644 --- a/.github/workflows/kitchen.windows.yml +++ b/.github/workflows/kitchen.windows.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: instance: - - v3002-py3-windows-2019-latest-py3 + - v3003-py3-windows-2019-latest-py3 steps: - name: 'Check out code' uses: 'actions/checkout@v2' @@ -61,7 +61,7 @@ jobs: fail-fast: false matrix: instance: - - v3002-py3-windows-2016-latest-py3 + - v3003-py3-windows-2016-latest-py3 steps: - name: 'Check out code' uses: 'actions/checkout@v2' diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 512953a..86e7869 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -123,53 +123,68 @@ rubocop: ## Define the rest of the matrix based on Kitchen testing # Make sure the instances listed below match up with # the `platforms` defined in `kitchen.yml` -v3002-py3-debian-10-3002-5-py3: {extends: '.test_instance'} -v3002-py3-debian-9-3002-5-py3: {extends: '.test_instance'} -v3002-py3-ubuntu-2004-3002-5-py3: {extends: '.test_instance'} -v3002-py3-ubuntu-1804-3002-5-py3: {extends: '.test_instance'} -v3002-py3-ubuntu-1604-3002-5-py3: {extends: '.test_instance'} -v3002-py3-centos-8-3002-5-py3: {extends: '.test_instance'} -v3002-py3-centos-7-3002-5-py3: {extends: '.test_instance'} -v3002-py3-fedora-33-3002-5-py3: {extends: '.test_instance'} -# v3002-py3-fedora-32-3002-5-py3: {extends: '.test_instance'} -v3002-py3-amazonlinux-2-3002-5-py3: {extends: '.test_instance'} -v3002-py3-oraclelinux-8-3002-5-py3: {extends: '.test_instance'} -v3002-py3-oraclelinux-7-3002-5-py3: {extends: '.test_instance'} -v3002-py3-arch-base-latest-3002-5-py3: {extends: '.test_instance'} -v3002-py3-gentoo-stage3-latest-3002-5-py3: {extends: '.test_instance'} -v3002-py3-gentoo-stage3-systemd-3002-5-py3: {extends: '.test_instance'} -v3001-py3-debian-10-3001-6-py3: {extends: '.test_instance'} -# v3001-py3-debian-9-3001-6-py3: {extends: '.test_instance'} -v3001-py3-ubuntu-2004-3001-6-py3: {extends: '.test_instance'} -# v3001-py3-ubuntu-1804-3001-6-py3: {extends: '.test_instance'} -# v3001-py3-ubuntu-1604-3001-6-py3: {extends: '.test_instance'} -v3001-py3-centos-8-3001-6-py3: {extends: '.test_instance'} -# v3001-py3-centos-7-3001-6-py3: {extends: '.test_instance'} -# v3001-py3-fedora-33-3001-6-py3: {extends: '.test_instance'} -v3001-py3-fedora-32-3001-6-py3: {extends: '.test_instance'} -# v3001-py3-opensuse-leap-152-3001-6-py3: {extends: '.test_instance'} -# v3001-py3-opensuse-tmbl-latest-3001-6-py3: {extends: '.test_instance'} -# v3001-py3-amazonlinux-2-3001-6-py3: {extends: '.test_instance'} -v3001-py3-oraclelinux-8-3001-6-py3: {extends: '.test_instance'} -# v3001-py3-oraclelinux-7-3001-6-py3: {extends: '.test_instance'} -# v3001-py3-arch-base-latest-3001-6-py3: {extends: '.test_instance'} -# v3001-py3-gentoo-stage3-latest-3001-6-py3: {extends: '.test_instance'} -# v3001-py3-gentoo-stage3-systemd-3001-6-py3: {extends: '.test_instance'} -# v3000-py3-debian-10-3000-8-py3: {extends: '.test_instance'} -v3000-py3-debian-9-3000-8-py3: {extends: '.test_instance'} -v3000-py3-ubuntu-1804-3000-8-py3: {extends: '.test_instance'} -# v3000-py3-ubuntu-1604-3000-8-py3: {extends: '.test_instance'} -# v3000-py3-centos-8-3000-8-py3: {extends: '.test_instance'} -v3000-py3-centos-7-3000-8-py3: {extends: '.test_instance'} -# v3000-py3-opensuse-leap-152-3000-8-py3: {extends: '.test_instance'} -# v3000-py3-amazonlinux-2-3000-8-py3: {extends: '.test_instance'} -# v3000-py3-oraclelinux-8-3000-8-py3: {extends: '.test_instance'} -v3000-py3-oraclelinux-7-3000-8-py3: {extends: '.test_instance'} -# v3000-py3-gentoo-stage3-latest-3000-8-py3: {extends: '.test_instance'} -# v3000-py3-gentoo-stage3-systemd-3000-8-py3: {extends: '.test_instance'} -# v3000-py2-ubuntu-1804-3000-8-py2: {extends: '.test_instance'} -v3000-py2-ubuntu-1604-3000-8-py2: {extends: '.test_instance'} -# v3000-py2-arch-base-latest-3000-8-py2: {extends: '.test_instance'} +v3003-py3-debian-10-3003-0-py3: {extends: '.test_instance'} +# v3003-py3-debian-9-3003-0-py3: {extends: '.test_instance'} +v3003-py3-ubuntu-2004-3003-0-py3: {extends: '.test_instance'} +# v3003-py3-ubuntu-1804-3003-0-py3: {extends: '.test_instance'} +v3003-py3-centos-8-3003-0-py3: {extends: '.test_instance'} +# v3003-py3-centos-7-3003-0-py3: {extends: '.test_instance'} +# v3003-py3-fedora-34-3003-0-py3: {extends: '.test_instance'} +# v3003-py3-fedora-33-3003-0-py3: {extends: '.test_instance'} +# v3003-py3-fedora-32-3003-0-py3: {extends: '.test_instance'} +v3003-py3-amazonlinux-2-3003-0-py3: {extends: '.test_instance'} +v3003-py3-oraclelinux-8-3003-0-py3: {extends: '.test_instance'} +# v3003-py3-oraclelinux-7-3003-0-py3: {extends: '.test_instance'} +v3003-py3-arch-base-latest-3003-0-py3: {extends: '.test_instance'} +v3003-py3-gentoo-stage3-latest-3003-0-py3: {extends: '.test_instance'} +v3003-py3-gentoo-stage3-systemd-3003-0-py3: {extends: '.test_instance'} +# v3002-py3-debian-10-3002-6-py3: {extends: '.test_instance'} +v3002-py3-debian-9-3002-6-py3: {extends: '.test_instance'} +# v3002-py3-ubuntu-2004-3002-6-py3: {extends: '.test_instance'} +v3002-py3-ubuntu-1804-3002-6-py3: {extends: '.test_instance'} +# v3002-py3-ubuntu-1604-3002-6-py3: {extends: '.test_instance'} +# v3002-py3-centos-8-3002-6-py3: {extends: '.test_instance'} +v3002-py3-centos-7-3002-6-py3: {extends: '.test_instance'} +v3002-py3-fedora-34-3002-6-py3: {extends: '.test_instance'} +v3002-py3-fedora-33-3002-6-py3: {extends: '.test_instance'} +# v3002-py3-fedora-32-3002-6-py3: {extends: '.test_instance'} +v3002-py3-amazonlinux-2-3002-6-py3: {extends: '.test_instance'} +# v3002-py3-oraclelinux-8-3002-6-py3: {extends: '.test_instance'} +v3002-py3-oraclelinux-7-3002-6-py3: {extends: '.test_instance'} +# v3002-py3-arch-base-latest-3002-6-py3: {extends: '.test_instance'} +# v3002-py3-gentoo-stage3-latest-3002-5-py3: {extends: '.test_instance'} +# v3002-py3-gentoo-stage3-systemd-3002-5-py3: {extends: '.test_instance'} +v3002-py3-opensuse-leap-152-3002-2-py3: {extends: '.test_instance'} +v3002-py3-opensuse-tmbl-latest-3002-2-py3: {extends: '.test_instance'} +v3001-py3-debian-10-3001-7-py3: {extends: '.test_instance'} +# v3001-py3-debian-9-3001-7-py3: {extends: '.test_instance'} +v3001-py3-ubuntu-2004-3001-7-py3: {extends: '.test_instance'} +# v3001-py3-ubuntu-1804-3001-7-py3: {extends: '.test_instance'} +# v3001-py3-ubuntu-1604-3001-7-py3: {extends: '.test_instance'} +v3001-py3-centos-8-3001-7-py3: {extends: '.test_instance'} +# v3001-py3-centos-7-3001-7-py3: {extends: '.test_instance'} +# v3001-py3-fedora-34-3001-7-py3: {extends: '.test_instance'} +# v3001-py3-fedora-33-3001-7-py3: {extends: '.test_instance'} +v3001-py3-fedora-32-3001-7-py3: {extends: '.test_instance'} +# v3001-py3-opensuse-leap-152-3001-7-py3: {extends: '.test_instance'} +# v3001-py3-opensuse-tmbl-latest-3001-7-py3: {extends: '.test_instance'} +# v3001-py3-amazonlinux-2-3001-7-py3: {extends: '.test_instance'} +v3001-py3-oraclelinux-8-3001-7-py3: {extends: '.test_instance'} +# v3001-py3-oraclelinux-7-3001-7-py3: {extends: '.test_instance'} +# v3001-py3-arch-base-latest-3001-7-py3: {extends: '.test_instance'} +# v3000-py3-debian-10-3000-9-py3: {extends: '.test_instance'} +v3000-py3-debian-9-3000-9-py3: {extends: '.test_instance'} +v3000-py3-ubuntu-1804-3000-9-py3: {extends: '.test_instance'} +# v3000-py3-ubuntu-1604-3000-9-py3: {extends: '.test_instance'} +# v3000-py3-centos-8-3000-9-py3: {extends: '.test_instance'} +v3000-py3-centos-7-3000-9-py3: {extends: '.test_instance'} +# v3000-py3-opensuse-leap-152-3000-9-py3: {extends: '.test_instance'} +# v3000-py3-amazonlinux-2-3000-9-py3: {extends: '.test_instance'} +# v3000-py3-oraclelinux-8-3000-9-py3: {extends: '.test_instance'} +v3000-py3-oraclelinux-7-3000-9-py3: {extends: '.test_instance'} +# v3000-py2-ubuntu-1804-3000-9-py2: {extends: '.test_instance'} +v3000-py2-ubuntu-1604-3000-9-py2: {extends: '.test_instance'} +# v3000-py2-arch-base-latest-3000-9-py2: {extends: '.test_instance'} ############################################################################### # `release` stage: `semantic-release` diff --git a/.travis.yml b/.travis.yml index 2a4e50f..5714945 100644 --- a/.travis.yml +++ b/.travis.yml @@ -83,53 +83,68 @@ jobs: ## Define the rest of the matrix based on Kitchen testing # Make sure the instances listed below match up with # the `platforms` defined in `kitchen.yml` - - env: INSTANCE=v3002-py3-debian-10-3002-5-py3 - - env: INSTANCE=v3002-py3-debian-9-3002-5-py3 - - env: INSTANCE=v3002-py3-ubuntu-2004-3002-5-py3 - - env: INSTANCE=v3002-py3-ubuntu-1804-3002-5-py3 - - env: INSTANCE=v3002-py3-ubuntu-1604-3002-5-py3 - - env: INSTANCE=v3002-py3-centos-8-3002-5-py3 - - env: INSTANCE=v3002-py3-centos-7-3002-5-py3 - - env: INSTANCE=v3002-py3-fedora-33-3002-5-py3 - # - env: INSTANCE=v3002-py3-fedora-32-3002-5-py3 - - env: INSTANCE=v3002-py3-amazonlinux-2-3002-5-py3 - - env: INSTANCE=v3002-py3-oraclelinux-8-3002-5-py3 - - env: INSTANCE=v3002-py3-oraclelinux-7-3002-5-py3 - - env: INSTANCE=v3002-py3-arch-base-latest-3002-5-py3 - - env: INSTANCE=v3002-py3-gentoo-stage3-latest-3002-5-py3 - - env: INSTANCE=v3002-py3-gentoo-stage3-systemd-3002-5-py3 - - env: INSTANCE=v3001-py3-debian-10-3001-6-py3 - # - env: INSTANCE=v3001-py3-debian-9-3001-6-py3 - - env: INSTANCE=v3001-py3-ubuntu-2004-3001-6-py3 - # - env: INSTANCE=v3001-py3-ubuntu-1804-3001-6-py3 - # - env: INSTANCE=v3001-py3-ubuntu-1604-3001-6-py3 - - env: INSTANCE=v3001-py3-centos-8-3001-6-py3 - # - env: INSTANCE=v3001-py3-centos-7-3001-6-py3 - # - env: INSTANCE=v3001-py3-fedora-33-3001-6-py3 - - env: INSTANCE=v3001-py3-fedora-32-3001-6-py3 - # - env: INSTANCE=v3001-py3-opensuse-leap-152-3001-6-py3 - # - env: INSTANCE=v3001-py3-opensuse-tmbl-latest-3001-6-py3 - # - env: INSTANCE=v3001-py3-amazonlinux-2-3001-6-py3 - - env: INSTANCE=v3001-py3-oraclelinux-8-3001-6-py3 - # - env: INSTANCE=v3001-py3-oraclelinux-7-3001-6-py3 - # - env: INSTANCE=v3001-py3-arch-base-latest-3001-6-py3 - # - env: INSTANCE=v3001-py3-gentoo-stage3-latest-3001-6-py3 - # - env: INSTANCE=v3001-py3-gentoo-stage3-systemd-3001-6-py3 - # - env: INSTANCE=v3000-py3-debian-10-3000-8-py3 - - env: INSTANCE=v3000-py3-debian-9-3000-8-py3 - - env: INSTANCE=v3000-py3-ubuntu-1804-3000-8-py3 - # - env: INSTANCE=v3000-py3-ubuntu-1604-3000-8-py3 - # - env: INSTANCE=v3000-py3-centos-8-3000-8-py3 - - env: INSTANCE=v3000-py3-centos-7-3000-8-py3 - # - env: INSTANCE=v3000-py3-opensuse-leap-152-3000-8-py3 - # - env: INSTANCE=v3000-py3-amazonlinux-2-3000-8-py3 - # - env: INSTANCE=v3000-py3-oraclelinux-8-3000-8-py3 - - env: INSTANCE=v3000-py3-oraclelinux-7-3000-8-py3 - # - env: INSTANCE=v3000-py3-gentoo-stage3-latest-3000-8-py3 - # - env: INSTANCE=v3000-py3-gentoo-stage3-systemd-3000-8-py3 - # - env: INSTANCE=v3000-py2-ubuntu-1804-3000-8-py2 - - env: INSTANCE=v3000-py2-ubuntu-1604-3000-8-py2 - # - env: INSTANCE=v3000-py2-arch-base-latest-3000-8-py2 + - env: INSTANCE=v3003-py3-debian-10-3003-0-py3 + # - env: INSTANCE=v3003-py3-debian-9-3003-0-py3 + - env: INSTANCE=v3003-py3-ubuntu-2004-3003-0-py3 + # - env: INSTANCE=v3003-py3-ubuntu-1804-3003-0-py3 + - env: INSTANCE=v3003-py3-centos-8-3003-0-py3 + # - env: INSTANCE=v3003-py3-centos-7-3003-0-py3 + # - env: INSTANCE=v3003-py3-fedora-34-3003-0-py3 + # - env: INSTANCE=v3003-py3-fedora-33-3003-0-py3 + # - env: INSTANCE=v3003-py3-fedora-32-3003-0-py3 + - env: INSTANCE=v3003-py3-amazonlinux-2-3003-0-py3 + - env: INSTANCE=v3003-py3-oraclelinux-8-3003-0-py3 + # - env: INSTANCE=v3003-py3-oraclelinux-7-3003-0-py3 + - env: INSTANCE=v3003-py3-arch-base-latest-3003-0-py3 + - env: INSTANCE=v3003-py3-gentoo-stage3-latest-3003-0-py3 + - env: INSTANCE=v3003-py3-gentoo-stage3-systemd-3003-0-py3 + # - env: INSTANCE=v3002-py3-debian-10-3002-6-py3 + - env: INSTANCE=v3002-py3-debian-9-3002-6-py3 + # - env: INSTANCE=v3002-py3-ubuntu-2004-3002-6-py3 + - env: INSTANCE=v3002-py3-ubuntu-1804-3002-6-py3 + # - env: INSTANCE=v3002-py3-ubuntu-1604-3002-6-py3 + # - env: INSTANCE=v3002-py3-centos-8-3002-6-py3 + - env: INSTANCE=v3002-py3-centos-7-3002-6-py3 + - env: INSTANCE=v3002-py3-fedora-34-3002-6-py3 + - env: INSTANCE=v3002-py3-fedora-33-3002-6-py3 + # - env: INSTANCE=v3002-py3-fedora-32-3002-6-py3 + - env: INSTANCE=v3002-py3-amazonlinux-2-3002-6-py3 + # - env: INSTANCE=v3002-py3-oraclelinux-8-3002-6-py3 + - env: INSTANCE=v3002-py3-oraclelinux-7-3002-6-py3 + # - env: INSTANCE=v3002-py3-arch-base-latest-3002-6-py3 + # - env: INSTANCE=v3002-py3-gentoo-stage3-latest-3002-5-py3 + # - env: INSTANCE=v3002-py3-gentoo-stage3-systemd-3002-5-py3 + - env: INSTANCE=v3002-py3-opensuse-leap-152-3002-2-py3 + - env: INSTANCE=v3002-py3-opensuse-tmbl-latest-3002-2-py3 + - env: INSTANCE=v3001-py3-debian-10-3001-7-py3 + # - env: INSTANCE=v3001-py3-debian-9-3001-7-py3 + - env: INSTANCE=v3001-py3-ubuntu-2004-3001-7-py3 + # - env: INSTANCE=v3001-py3-ubuntu-1804-3001-7-py3 + # - env: INSTANCE=v3001-py3-ubuntu-1604-3001-7-py3 + - env: INSTANCE=v3001-py3-centos-8-3001-7-py3 + # - env: INSTANCE=v3001-py3-centos-7-3001-7-py3 + # - env: INSTANCE=v3001-py3-fedora-34-3001-7-py3 + # - env: INSTANCE=v3001-py3-fedora-33-3001-7-py3 + - env: INSTANCE=v3001-py3-fedora-32-3001-7-py3 + # - env: INSTANCE=v3001-py3-opensuse-leap-152-3001-7-py3 + # - env: INSTANCE=v3001-py3-opensuse-tmbl-latest-3001-7-py3 + # - env: INSTANCE=v3001-py3-amazonlinux-2-3001-7-py3 + - env: INSTANCE=v3001-py3-oraclelinux-8-3001-7-py3 + # - env: INSTANCE=v3001-py3-oraclelinux-7-3001-7-py3 + # - env: INSTANCE=v3001-py3-arch-base-latest-3001-7-py3 + # - env: INSTANCE=v3000-py3-debian-10-3000-9-py3 + - env: INSTANCE=v3000-py3-debian-9-3000-9-py3 + - env: INSTANCE=v3000-py3-ubuntu-1804-3000-9-py3 + # - env: INSTANCE=v3000-py3-ubuntu-1604-3000-9-py3 + # - env: INSTANCE=v3000-py3-centos-8-3000-9-py3 + - env: INSTANCE=v3000-py3-centos-7-3000-9-py3 + # - env: INSTANCE=v3000-py3-opensuse-leap-152-3000-9-py3 + # - env: INSTANCE=v3000-py3-amazonlinux-2-3000-9-py3 + # - env: INSTANCE=v3000-py3-oraclelinux-8-3000-9-py3 + - env: INSTANCE=v3000-py3-oraclelinux-7-3000-9-py3 + # - env: INSTANCE=v3000-py2-ubuntu-1804-3000-9-py2 + - env: INSTANCE=v3000-py2-ubuntu-1604-3000-9-py2 + # - env: INSTANCE=v3000-py2-arch-base-latest-3000-9-py2 ## Define the release stage that runs `semantic-release` - stage: 'release' diff --git a/kitchen.vagrant.yml b/kitchen.vagrant.yml index f13280a..1d44068 100644 --- a/kitchen.vagrant.yml +++ b/kitchen.vagrant.yml @@ -18,6 +18,16 @@ driver: <% end %> platforms: + - name: freebsd-130-master-py3 + driver: + box: myii/freebsd-13.0-master-py3 + synced_folders: [] # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255208 + - name: freebsd-122-master-py3 + driver: + box: myii/freebsd-12.2-master-py3 + - name: freebsd-114-master-py3 + driver: + box: myii/freebsd-11.4-master-py3 - name: freebsd-130-3002-6-py3 driver: box: myii/freebsd-13.0-3002.6-py3 diff --git a/kitchen.windows.yml b/kitchen.windows.yml index 7c3cc6f..397c9b0 100644 --- a/kitchen.windows.yml +++ b/kitchen.windows.yml @@ -15,7 +15,7 @@ platforms: provisioner: salt_install: bootstrap - salt_bootstrap_options: -pythonVersion 3 -version 3002.5 + salt_bootstrap_options: -pythonVersion 3 -version 3003 # yamllint disable rule:line-length init_environment: | C:\salt\salt-call --local state.single file.managed ` diff --git a/kitchen.yml b/kitchen.yml index e103d63..6e322bf 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -63,6 +63,9 @@ platforms: - name: centos-7-master-py3 driver: image: saltimages/salt-master-py3:centos-7 + - name: fedora-34-master-py3 + driver: + image: saltimages/salt-master-py3:fedora-34 - name: fedora-33-master-py3 driver: image: saltimages/salt-master-py3:fedora-33 @@ -102,47 +105,101 @@ platforms: driver: image: saltimages/salt-master-py3:gentoo-stage3-systemd - ## SALT `3002.5` - - name: debian-10-3002-5-py3 + ## SALT `3003.0` + - name: debian-10-3003-0-py3 driver: - image: saltimages/salt-3002.5-py3:debian-10 - - name: debian-9-3002-5-py3 + image: saltimages/salt-3003.0-py3:debian-10 + - name: debian-9-3003-0-py3 driver: - image: saltimages/salt-3002.5-py3:debian-9 - - name: ubuntu-2004-3002-5-py3 + image: saltimages/salt-3003.0-py3:debian-9 + - name: ubuntu-2004-3003-0-py3 driver: - image: saltimages/salt-3002.5-py3:ubuntu-20.04 - - name: ubuntu-1804-3002-5-py3 + image: saltimages/salt-3003.0-py3:ubuntu-20.04 + - name: ubuntu-1804-3003-0-py3 driver: - image: saltimages/salt-3002.5-py3:ubuntu-18.04 - - name: ubuntu-1604-3002-5-py3 + image: saltimages/salt-3003.0-py3:ubuntu-18.04 + - name: centos-8-3003-0-py3 driver: - image: saltimages/salt-3002.5-py3:ubuntu-16.04 - - name: centos-8-3002-5-py3 + image: saltimages/salt-3003.0-py3:centos-8 + - name: centos-7-3003-0-py3 driver: - image: saltimages/salt-3002.5-py3:centos-8 - - name: centos-7-3002-5-py3 + image: saltimages/salt-3003.0-py3:centos-7 + - name: fedora-34-3003-0-py3 driver: - image: saltimages/salt-3002.5-py3:centos-7 - - name: fedora-33-3002-5-py3 + image: saltimages/salt-3003.0-py3:fedora-34 + - name: fedora-33-3003-0-py3 driver: - image: saltimages/salt-3002.5-py3:fedora-33 - - name: fedora-32-3002-5-py3 + image: saltimages/salt-3003.0-py3:fedora-33 + - name: fedora-32-3003-0-py3 driver: - image: saltimages/salt-3002.5-py3:fedora-32 - - name: amazonlinux-2-3002-5-py3 + image: saltimages/salt-3003.0-py3:fedora-32 + - name: amazonlinux-2-3003-0-py3 driver: - image: saltimages/salt-3002.5-py3:amazonlinux-2 - - name: oraclelinux-8-3002-5-py3 + image: saltimages/salt-3003.0-py3:amazonlinux-2 + - name: oraclelinux-8-3003-0-py3 driver: - image: saltimages/salt-3002.5-py3:oraclelinux-8 - - name: oraclelinux-7-3002-5-py3 + image: saltimages/salt-3003.0-py3:oraclelinux-8 + - name: oraclelinux-7-3003-0-py3 driver: - image: saltimages/salt-3002.5-py3:oraclelinux-7 - - name: arch-base-latest-3002-5-py3 + image: saltimages/salt-3003.0-py3:oraclelinux-7 + - name: arch-base-latest-3003-0-py3 driver: - image: saltimages/salt-3002.5-py3:arch-base-latest + image: saltimages/salt-3003.0-py3:arch-base-latest run_command: /usr/lib/systemd/systemd + - name: gentoo-stage3-latest-3003-0-py3 + driver: + image: saltimages/salt-3003.0-py3:gentoo-stage3-latest + run_command: /sbin/init + - name: gentoo-stage3-systemd-3003-0-py3 + driver: + image: saltimages/salt-3003.0-py3:gentoo-stage3-systemd + + ## SALT `3002.6` + - name: debian-10-3002-6-py3 + driver: + image: saltimages/salt-3002.6-py3:debian-10 + - name: debian-9-3002-6-py3 + driver: + image: saltimages/salt-3002.6-py3:debian-9 + - name: ubuntu-2004-3002-6-py3 + driver: + image: saltimages/salt-3002.6-py3:ubuntu-20.04 + - name: ubuntu-1804-3002-6-py3 + driver: + image: saltimages/salt-3002.6-py3:ubuntu-18.04 + - name: ubuntu-1604-3002-6-py3 + driver: + image: saltimages/salt-3002.6-py3:ubuntu-16.04 + - name: centos-8-3002-6-py3 + driver: + image: saltimages/salt-3002.6-py3:centos-8 + - name: centos-7-3002-6-py3 + driver: + image: saltimages/salt-3002.6-py3:centos-7 + - name: fedora-34-3002-6-py3 + driver: + image: saltimages/salt-3002.6-py3:fedora-34 + - name: fedora-33-3002-6-py3 + driver: + image: saltimages/salt-3002.6-py3:fedora-33 + - name: fedora-32-3002-6-py3 + driver: + image: saltimages/salt-3002.6-py3:fedora-32 + - name: amazonlinux-2-3002-6-py3 + driver: + image: saltimages/salt-3002.6-py3:amazonlinux-2 + - name: oraclelinux-8-3002-6-py3 + driver: + image: saltimages/salt-3002.6-py3:oraclelinux-8 + - name: oraclelinux-7-3002-6-py3 + driver: + image: saltimages/salt-3002.6-py3:oraclelinux-7 + - name: arch-base-latest-3002-6-py3 + driver: + image: saltimages/salt-3002.6-py3:arch-base-latest + run_command: /usr/lib/systemd/systemd + + ## SALT `3002.5` - name: gentoo-stage3-latest-3002-5-py3 driver: image: saltimages/salt-3002.5-py3:gentoo-stage3-latest @@ -169,63 +226,68 @@ platforms: transport: max_ssh_sessions: 1 - ## SALT `3001.6` - - name: debian-10-3001-6-py3 + ## SALT `3001.7` + - name: debian-10-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:debian-10 - - name: debian-9-3001-6-py3 + image: saltimages/salt-3001.7-py3:debian-10 + - name: debian-9-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:debian-9 - - name: ubuntu-2004-3001-6-py3 + image: saltimages/salt-3001.7-py3:debian-9 + - name: ubuntu-2004-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:ubuntu-20.04 - - name: ubuntu-1804-3001-6-py3 + image: saltimages/salt-3001.7-py3:ubuntu-20.04 + - name: ubuntu-1804-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:ubuntu-18.04 - - name: ubuntu-1604-3001-6-py3 + image: saltimages/salt-3001.7-py3:ubuntu-18.04 + - name: ubuntu-1604-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:ubuntu-16.04 - - name: centos-8-3001-6-py3 + image: saltimages/salt-3001.7-py3:ubuntu-16.04 + - name: centos-8-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:centos-8 - - name: centos-7-3001-6-py3 + image: saltimages/salt-3001.7-py3:centos-8 + - name: centos-7-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:centos-7 - - name: fedora-33-3001-6-py3 + image: saltimages/salt-3001.7-py3:centos-7 + - name: fedora-34-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:fedora-33 - - name: fedora-32-3001-6-py3 + image: saltimages/salt-3001.7-py3:fedora-34 + - name: fedora-33-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:fedora-32 - - name: opensuse-leap-152-3001-6-py3 + image: saltimages/salt-3001.7-py3:fedora-33 + - name: fedora-32-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:opensuse-leap-15.2 + image: saltimages/salt-3001.7-py3:fedora-32 + - name: opensuse-leap-152-3001-7-py3 + driver: + image: saltimages/salt-3001.7-py3:opensuse-leap-15.2 run_command: /usr/lib/systemd/systemd # Workaround to avoid intermittent failures on `opensuse-leap-15.2`: # => SCP did not finish successfully (255): (Net::SCP::Error) transport: max_ssh_sessions: 1 - - name: opensuse-tmbl-latest-3001-6-py3 + - name: opensuse-tmbl-latest-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:opensuse-tumbleweed-latest + image: saltimages/salt-3001.7-py3:opensuse-tumbleweed-latest run_command: /usr/lib/systemd/systemd # Workaround to avoid intermittent failures on `opensuse-tumbleweed`: # => SCP did not finish successfully (255): (Net::SCP::Error) transport: max_ssh_sessions: 1 - - name: amazonlinux-2-3001-6-py3 + - name: amazonlinux-2-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:amazonlinux-2 - - name: oraclelinux-8-3001-6-py3 + image: saltimages/salt-3001.7-py3:amazonlinux-2 + - name: oraclelinux-8-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:oraclelinux-8 - - name: oraclelinux-7-3001-6-py3 + image: saltimages/salt-3001.7-py3:oraclelinux-8 + - name: oraclelinux-7-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:oraclelinux-7 - - name: arch-base-latest-3001-6-py3 + image: saltimages/salt-3001.7-py3:oraclelinux-7 + - name: arch-base-latest-3001-7-py3 driver: - image: saltimages/salt-3001.6-py3:arch-base-latest + image: saltimages/salt-3001.7-py3:arch-base-latest run_command: /usr/lib/systemd/systemd + + ## SALT `3001.6` - name: gentoo-stage3-latest-3001-6-py3 driver: image: saltimages/salt-3001.6-py3:gentoo-stage3-latest @@ -234,42 +296,54 @@ platforms: driver: image: saltimages/salt-3001.6-py3:gentoo-stage3-systemd - ## SALT `3000.8` - - name: debian-10-3000-8-py3 + ## SALT `3000.9` + - name: debian-10-3000-9-py3 driver: - image: saltimages/salt-3000.8-py3:debian-10 - - name: debian-9-3000-8-py3 + image: saltimages/salt-3000.9-py3:debian-10 + - name: debian-9-3000-9-py3 driver: - image: saltimages/salt-3000.8-py3:debian-9 - - name: ubuntu-1804-3000-8-py3 + image: saltimages/salt-3000.9-py3:debian-9 + - name: ubuntu-1804-3000-9-py3 driver: - image: saltimages/salt-3000.8-py3:ubuntu-18.04 - - name: ubuntu-1604-3000-8-py3 + image: saltimages/salt-3000.9-py3:ubuntu-18.04 + - name: ubuntu-1604-3000-9-py3 driver: - image: saltimages/salt-3000.8-py3:ubuntu-16.04 - - name: centos-8-3000-8-py3 + image: saltimages/salt-3000.9-py3:ubuntu-16.04 + - name: centos-8-3000-9-py3 driver: - image: saltimages/salt-3000.8-py3:centos-8 - - name: centos-7-3000-8-py3 + image: saltimages/salt-3000.9-py3:centos-8 + - name: centos-7-3000-9-py3 driver: - image: saltimages/salt-3000.8-py3:centos-7 - - name: opensuse-leap-152-3000-8-py3 + image: saltimages/salt-3000.9-py3:centos-7 + - name: opensuse-leap-152-3000-9-py3 driver: - image: saltimages/salt-3000.8-py3:opensuse-leap-15.2 + image: saltimages/salt-3000.9-py3:opensuse-leap-15.2 run_command: /usr/lib/systemd/systemd # Workaround to avoid intermittent failures on `opensuse-leap-15.2`: # => SCP did not finish successfully (255): (Net::SCP::Error) transport: max_ssh_sessions: 1 - - name: amazonlinux-2-3000-8-py3 + - name: amazonlinux-2-3000-9-py3 driver: - image: saltimages/salt-3000.8-py3:amazonlinux-2 - - name: oraclelinux-8-3000-8-py3 + image: saltimages/salt-3000.9-py3:amazonlinux-2 + - name: oraclelinux-8-3000-9-py3 driver: - image: saltimages/salt-3000.8-py3:oraclelinux-8 - - name: oraclelinux-7-3000-8-py3 + image: saltimages/salt-3000.9-py3:oraclelinux-8 + - name: oraclelinux-7-3000-9-py3 driver: - image: saltimages/salt-3000.8-py3:oraclelinux-7 + image: saltimages/salt-3000.9-py3:oraclelinux-7 + - name: ubuntu-1804-3000-9-py2 + driver: + image: saltimages/salt-3000.9-py2:ubuntu-18.04 + - name: ubuntu-1604-3000-9-py2 + driver: + image: saltimages/salt-3000.9-py2:ubuntu-16.04 + - name: arch-base-latest-3000-9-py2 + driver: + image: saltimages/salt-3000.9-py2:arch-base-latest + run_command: /usr/lib/systemd/systemd + + ## SALT `3000.8` - name: gentoo-stage3-latest-3000-8-py3 driver: image: saltimages/salt-3000.8-py3:gentoo-stage3-latest @@ -277,16 +351,6 @@ platforms: - name: gentoo-stage3-systemd-3000-8-py3 driver: image: saltimages/salt-3000.8-py3:gentoo-stage3-systemd - - name: ubuntu-1804-3000-8-py2 - driver: - image: saltimages/salt-3000.8-py2:ubuntu-18.04 - - name: ubuntu-1604-3000-8-py2 - driver: - image: saltimages/salt-3000.8-py2:ubuntu-16.04 - - name: arch-base-latest-3000-8-py2 - driver: - image: saltimages/salt-3000.8-py2:arch-base-latest - run_command: /usr/lib/systemd/systemd provisioner: name: salt_solo @@ -307,30 +371,70 @@ verifier: - cli suites: - - name: v3002-py3 + - name: v3003-py3 includes: - - debian-10-3002-5-py3 - - debian-9-3002-5-py3 - - ubuntu-2004-3002-5-py3 - - ubuntu-1804-3002-5-py3 - - ubuntu-1604-3002-5-py3 - - centos-8-3002-5-py3 - - centos-7-3002-5-py3 - - fedora-33-3002-5-py3 - - fedora-32-3002-5-py3 - - amazonlinux-2-3002-5-py3 - - oraclelinux-8-3002-5-py3 - - oraclelinux-7-3002-5-py3 - - arch-base-latest-3002-5-py3 - - gentoo-stage3-latest-3002-5-py3 - - gentoo-stage3-systemd-3002-5-py3 - - freebsd-130-3002-6-py3 - - freebsd-122-3002-6-py3 - - freebsd-114-3002-6-py3 + - debian-10-3003-0-py3 + - debian-9-3003-0-py3 + - ubuntu-2004-3003-0-py3 + - ubuntu-1804-3003-0-py3 + - centos-8-3003-0-py3 + - centos-7-3003-0-py3 + - fedora-34-3003-0-py3 + - fedora-33-3003-0-py3 + - fedora-32-3003-0-py3 + - amazonlinux-2-3003-0-py3 + - oraclelinux-8-3003-0-py3 + - oraclelinux-7-3003-0-py3 + - arch-base-latest-3003-0-py3 + - gentoo-stage3-latest-3003-0-py3 + - gentoo-stage3-systemd-3003-0-py3 - windows-10-latest-py3 - windows-81-latest-py3 - windows-2019-latest-py3 - windows-2016-latest-py3 + provisioner: + state_top: + base: + '*': + - salt._mapdata + - salt.pkgrepo + - salt.master + - salt.minion + pillars: + top.sls: + base: + '*': + - salt + - v3003-py3 + pillars_from_files: + salt.sls: test/salt/pillar/salt.sls + v3003-py3.sls: test/salt/pillar/v3003-py3.sls + verifier: + inspec_tests: + - path: test/integration/v3003-py3 + - name: v3002-py3 + includes: + - debian-10-3002-6-py3 + - debian-9-3002-6-py3 + - ubuntu-2004-3002-6-py3 + - ubuntu-1804-3002-6-py3 + - ubuntu-1604-3002-6-py3 + - centos-8-3002-6-py3 + - centos-7-3002-6-py3 + - fedora-34-3002-6-py3 + - fedora-33-3002-6-py3 + - fedora-32-3002-6-py3 + - amazonlinux-2-3002-6-py3 + - oraclelinux-8-3002-6-py3 + - oraclelinux-7-3002-6-py3 + - arch-base-latest-3002-6-py3 + - gentoo-stage3-latest-3002-5-py3 + - gentoo-stage3-systemd-3002-5-py3 + - opensuse-leap-152-3002-2-py3 + - opensuse-tmbl-latest-3002-2-py3 + - freebsd-130-3002-6-py3 + - freebsd-122-3002-6-py3 + - freebsd-114-3002-6-py3 provisioner: state_top: base: @@ -353,23 +457,22 @@ suites: - path: test/integration/v3002-py3 - name: v3001-py3 includes: - - debian-10-3001-6-py3 - - debian-9-3001-6-py3 - - ubuntu-2004-3001-6-py3 - - ubuntu-1804-3001-6-py3 - - ubuntu-1604-3001-6-py3 - - centos-8-3001-6-py3 - - centos-7-3001-6-py3 - - fedora-33-3001-6-py3 - - fedora-32-3001-6-py3 - - opensuse-leap-152-3001-6-py3 - - opensuse-tmbl-latest-3001-6-py3 - - amazonlinux-2-3001-6-py3 - - oraclelinux-8-3001-6-py3 - - oraclelinux-7-3001-6-py3 - - arch-base-latest-3001-6-py3 - - gentoo-stage3-latest-3001-6-py3 - - gentoo-stage3-systemd-3001-6-py3 + - debian-10-3001-7-py3 + - debian-9-3001-7-py3 + - ubuntu-2004-3001-7-py3 + - ubuntu-1804-3001-7-py3 + - ubuntu-1604-3001-7-py3 + - centos-8-3001-7-py3 + - centos-7-3001-7-py3 + - fedora-34-3001-7-py3 + - fedora-33-3001-7-py3 + - fedora-32-3001-7-py3 + - opensuse-leap-152-3001-7-py3 + - opensuse-tmbl-latest-3001-7-py3 + - amazonlinux-2-3001-7-py3 + - oraclelinux-8-3001-7-py3 + - oraclelinux-7-3001-7-py3 + - arch-base-latest-3001-7-py3 - openbsd-68-3001-1-py3 provisioner: state_top: @@ -393,18 +496,16 @@ suites: - path: test/integration/v3001-py3 - name: v3000-py3 includes: - - debian-10-3000-8-py3 - - debian-9-3000-8-py3 - - ubuntu-1804-3000-8-py3 - - ubuntu-1604-3000-8-py3 - - centos-8-3000-8-py3 - - centos-7-3000-8-py3 - - opensuse-leap-152-3000-8-py3 - - amazonlinux-2-3000-8-py3 - - oraclelinux-8-3000-8-py3 - - oraclelinux-7-3000-8-py3 - - gentoo-stage3-latest-3000-8-py3 - - gentoo-stage3-systemd-3000-8-py3 + - debian-10-3000-9-py3 + - debian-9-3000-9-py3 + - ubuntu-1804-3000-9-py3 + - ubuntu-1604-3000-9-py3 + - centos-8-3000-9-py3 + - centos-7-3000-9-py3 + - opensuse-leap-152-3000-9-py3 + - amazonlinux-2-3000-9-py3 + - oraclelinux-8-3000-9-py3 + - oraclelinux-7-3000-9-py3 provisioner: state_top: base: @@ -427,9 +528,9 @@ suites: - path: test/integration/v3000-py3 - name: v3000-py2 includes: - - ubuntu-1804-3000-8-py2 - - ubuntu-1604-3000-8-py2 - - arch-base-latest-3000-8-py2 + - ubuntu-1804-3000-9-py2 + - ubuntu-1604-3000-9-py2 + - arch-base-latest-3000-9-py2 provisioner: state_top: base: diff --git a/test/integration/v3003-py3/README.md b/test/integration/v3003-py3/README.md new file mode 100644 index 0000000..49080dd --- /dev/null +++ b/test/integration/v3003-py3/README.md @@ -0,0 +1,50 @@ +# InSpec Profile: `v3003-py3` + +This shows the implementation of the `v3003-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 v3003-py3 +Summary +------- +Location: v3003-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 v3003-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 v3003-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). diff --git a/test/integration/v3003-py3/controls/_mapdata.rb b/test/integration/v3003-py3/controls/_mapdata.rb new file mode 100644 index 0000000..b2b0541 --- /dev/null +++ b/test/integration/v3003-py3/controls/_mapdata.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +require 'yaml' + +control 'salt._mapdata' do + title '`map.jinja` should match the reference file' + + ### Method + # The steps below for each file appear convoluted but they are both required + # and similar in nature: + # 1. The earliest method was to simply compare the files textually but this often + # led to false positives due to inconsistencies (e.g. spacing, ordering) + # 2. The next method was to load the files back into YAML structures and then + # compare but InSpec provided block diffs this way, unusable by end users + # 3. The final step was to dump the YAML structures back into a string to use + # for the comparison; this both worked and provided human-friendly diffs + + ### Comparison file for the specific platform + ### Static, adjusted as part of code contributions, as map data is changed + # Strip the `platform[:finger]` version number down to the "OS major release" + platform_finger = system.platform[:finger].split('.').first.to_s + # Use that to set the path to the file (relative to the InSpec suite directory) + mapdata_file_path = "_mapdata/#{platform_finger}.yaml" + # Load the mapdata from profile, into a YAML structure + # https://docs.chef.io/inspec/profiles/#profile-files + mapdata_file_yaml = YAML.load(inspec.profile.file(mapdata_file_path)) + # Dump the YAML back into a string for comparison + mapdata_file_dump = YAML.dump(mapdata_file_yaml) + + ### Output file produced by running the `_mapdata` state + ### Dynamic, generated during Kitchen's `converge` phase + # Derive the location of the dumped mapdata (differs for Windows) + output_dir = platform[:family] == 'windows' ? '/temp' : '/tmp' + # Use that to set the path to the file (absolute path, i.e. within the container) + output_file_path = "#{output_dir}/salt_mapdata_dump.yaml" + # Load the output into a YAML structure using InSpec's `yaml` resource + # https://github.com/inspec/inspec/blob/49b7d10/lib/inspec/resources/yaml.rb#L29 + output_file_yaml = yaml(output_file_path).params + # Dump the YAML back into a string for comparison + output_file_dump = YAML.dump(output_file_yaml) + + describe 'File content' do + it 'should match profile map data exactly' do + expect(output_file_dump).to eq(mapdata_file_dump) + end + end +end diff --git a/test/integration/v3003-py3/inspec.yml b/test/integration/v3003-py3/inspec.yml new file mode 100644 index 0000000..e048343 --- /dev/null +++ b/test/integration/v3003-py3/inspec.yml @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# vim: ft=yaml +--- +name: v3003-py3 +title: salt formula +maintainer: SaltStack Formulas +license: Apache-2.0 +summary: Verify that Salt `v3003-py3` is setup and configured +depends: + - name: share + path: test/integration/share +supports: + - platform-name: debian + - platform-name: ubuntu + - platform-name: centos + - platform-name: fedora + - platform-name: opensuse + - platform-name: suse + - platform-name: freebsd + - platform-name: openbsd + - platform-name: amazon + - platform-name: oracle + - platform-name: arch + - platform-name: gentoo + - platform: windows