ci: enable Vagrant-based testing using GitHub Actions
* Semi-automated using https://github.com/myii/ssf-formula/pull/306
This commit is contained in:
		
							parent
							
								
									d727b15557
								
							
						
					
					
						commit
						a0306cee31
					
				
							
								
								
									
										34
									
								
								.github/workflows/kitchen.vagrant.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								.github/workflows/kitchen.vagrant.yml
									
									
									
									
										vendored
									
									
										Normal 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 }}'
 | 
			
		||||
							
								
								
									
										4
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Gemfile
									
									
									
									
									
								
							@ -12,3 +12,7 @@ gem 'kitchen-docker', git: 'https://gitlab.com/saltstack-formulas/infrastructure
 | 
			
		||||
# rubocop:enable Layout/LineLength
 | 
			
		||||
gem 'kitchen-inspec', '>= 2.2.1'
 | 
			
		||||
gem 'kitchen-salt', '>= 0.6.3'
 | 
			
		||||
 | 
			
		||||
group :vagrant do
 | 
			
		||||
  gem 'kitchen-vagrant'
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@ -292,6 +292,8 @@ GEM
 | 
			
		||||
    kitchen-salt (0.6.3)
 | 
			
		||||
      hashie (>= 3.5)
 | 
			
		||||
      test-kitchen (>= 1.4)
 | 
			
		||||
    kitchen-vagrant (1.7.0)
 | 
			
		||||
      test-kitchen (>= 1.4, < 3)
 | 
			
		||||
    libyajl2 (1.2.0)
 | 
			
		||||
    license-acceptance (1.0.19)
 | 
			
		||||
      pastel (~> 0.7)
 | 
			
		||||
@ -525,6 +527,7 @@ DEPENDENCIES
 | 
			
		||||
  kitchen-docker!
 | 
			
		||||
  kitchen-inspec (>= 2.2.1)
 | 
			
		||||
  kitchen-salt (>= 0.6.3)
 | 
			
		||||
  kitchen-vagrant
 | 
			
		||||
 | 
			
		||||
BUNDLED WITH
 | 
			
		||||
   2.1.2
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										23
									
								
								kitchen.vagrant.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								kitchen.vagrant.yml
									
									
									
									
									
										Normal 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
 | 
			
		||||
							
								
								
									
										20
									
								
								kitchen.yml
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								kitchen.yml
									
									
									
									
									
								
							@ -455,3 +455,23 @@ suites:
 | 
			
		||||
    verifier:
 | 
			
		||||
      inspec_tests:
 | 
			
		||||
        - 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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user