ci: enable Vagrant-based testing using GitHub Actions

* Semi-automated using https://github.com/myii/ssf-formula/pull/306
This commit is contained in:
Imran Iqbal 2021-03-31 07:31:04 +01:00
parent d727b15557
commit a0306cee31
No known key found for this signature in database
GPG Key ID: 6D8629439D2B7819
5 changed files with 84 additions and 0 deletions

34
.github/workflows/kitchen.vagrant.yml vendored Normal file
View File

@ -0,0 +1,34 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: 'Kitchen Vagrant (FreeBSD)'
'on': ['push', 'pull_request']
env:
KITCHEN_LOCAL_YAML: 'kitchen.vagrant.yml'
jobs:
test:
runs-on: 'macos-10.15'
strategy:
fail-fast: false
matrix:
instance:
- freebsd-freebsd-122-latest-py3
- freebsd-freebsd-114-latest-py3
steps:
- name: 'Check out code'
uses: 'actions/checkout@v2'
- name: 'Set up Bundler cache'
uses: 'actions/cache@v1'
with:
path: 'vendor/bundle'
key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}"
restore-keys: "${{ runner.os }}-gems-"
- name: 'Run Bundler'
run: |
ruby --version
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
- name: 'Run Test Kitchen'
run: 'bundle exec kitchen verify ${{ matrix.instance }}'

View File

@ -12,3 +12,7 @@ gem 'kitchen-docker', git: 'https://gitlab.com/saltstack-formulas/infrastructure
# rubocop:enable Layout/LineLength # rubocop:enable Layout/LineLength
gem 'kitchen-inspec', '>= 2.2.1' gem 'kitchen-inspec', '>= 2.2.1'
gem 'kitchen-salt', '>= 0.6.3' gem 'kitchen-salt', '>= 0.6.3'
group :vagrant do
gem 'kitchen-vagrant'
end

View File

@ -292,6 +292,8 @@ GEM
kitchen-salt (0.6.3) kitchen-salt (0.6.3)
hashie (>= 3.5) hashie (>= 3.5)
test-kitchen (>= 1.4) test-kitchen (>= 1.4)
kitchen-vagrant (1.7.0)
test-kitchen (>= 1.4, < 3)
libyajl2 (1.2.0) libyajl2 (1.2.0)
license-acceptance (1.0.19) license-acceptance (1.0.19)
pastel (~> 0.7) pastel (~> 0.7)
@ -525,6 +527,7 @@ DEPENDENCIES
kitchen-docker! kitchen-docker!
kitchen-inspec (>= 2.2.1) kitchen-inspec (>= 2.2.1)
kitchen-salt (>= 0.6.3) kitchen-salt (>= 0.6.3)
kitchen-vagrant
BUNDLED WITH BUNDLED WITH
2.1.2 2.1.2

23
kitchen.vagrant.yml Normal file
View File

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
driver:
name: vagrant
cache_directory: false
customize:
usbxhci: 'off'
gui: false
linked_clone: true
ssh:
shell: /bin/sh
platforms:
- name: freebsd-122-latest-py3
driver:
box: bento/freebsd-12.2
- name: freebsd-114-latest-py3
driver:
box: bento/freebsd-11.4
provisioner:
salt_install: bootstrap

View File

@ -455,3 +455,23 @@ suites:
verifier: verifier:
inspec_tests: inspec_tests:
- path: test/integration/default - path: test/integration/default
- name: freebsd
includes:
- freebsd-122-latest-py3
- freebsd-114-latest-py3
provisioner:
state_top:
base:
'*':
- php._mapdata
- php.composer
pillars:
top.sls:
base:
'*':
- php
pillars_from_files:
php.sls: test/salt/pillar/freebsd.sls
verifier:
inspec_tests:
- path: test/integration/default