Merge pull request #24 from myii/ci/standardise-structure
chore: use `semantic-release` cross-formula standard structure
This commit is contained in:
		
						commit
						946c0df27f
					
				
							
								
								
									
										12
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -48,6 +48,7 @@ coverage.xml | ||||
| .kitchen | ||||
| .kitchen.local.yml | ||||
| kitchen.local.yml | ||||
| junit-*.xml | ||||
| 
 | ||||
| # Translations | ||||
| *.mo | ||||
| @ -108,3 +109,14 @@ Gemfile.lock | ||||
| 
 | ||||
| # copied `.md` files used for conversion to `.rst` using `m2r` | ||||
| docs/*.md | ||||
| 
 | ||||
| # Vim | ||||
| *.sw? | ||||
| 
 | ||||
| ## Collected when centralising formulas (check and sort) | ||||
| # `collectd-formula` | ||||
| .pytest_cache/ | ||||
| /.idea/ | ||||
| Dockerfile.*_* | ||||
| ignore/ | ||||
| tmp/ | ||||
|  | ||||
							
								
								
									
										12
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								.travis.yml
									
									
									
									
									
								
							| @ -1,3 +1,6 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| # vim: ft=yaml | ||||
| --- | ||||
| stages: | ||||
|   - test | ||||
|   - commitlint | ||||
| @ -7,6 +10,7 @@ stages: | ||||
| sudo: required | ||||
| cache: bundler | ||||
| language: ruby | ||||
| dist: xenial | ||||
| 
 | ||||
| services: | ||||
|   - docker | ||||
| @ -14,7 +18,7 @@ services: | ||||
| addons: | ||||
|   apt: | ||||
|     packages: | ||||
|       - ipvsadm | ||||
|     - ipvsadm | ||||
| 
 | ||||
| # Make sure the instances listed below match up with | ||||
| # the `platforms` defined in `kitchen.yml` | ||||
| @ -34,20 +38,16 @@ env: | ||||
|     # - INSTANCE: default-ubuntu-1604-2018-3-py2 | ||||
|     # - INSTANCE: default-centos-7-2018-3-py2 | ||||
|     - INSTANCE: default-fedora-29-2018-3-py2 | ||||
|     # TODO: Use this when fixed instead of `opensuse-leap-42` | ||||
|     # Ref: https://github.com/netmanagers/salt-image-builder/issues/2 | ||||
|     # - INSTANCE: default-opensuse-leap-15-2018-3-py2 | ||||
|     - INSTANCE: default-opensuse-leap-42-2018-3-py2 | ||||
|     # - INSTANCE: default-debian-8-2017-7-py2 | ||||
|     # - INSTANCE: default-ubuntu-1604-2017-7-py2 | ||||
|     # TODO: Enable after improving the formula to work with other than `systemd` | ||||
|     - INSTANCE: default-centos-6-2017-7-py2 | ||||
|     # - INSTANCE: default-fedora-28-2017-7-py2 | ||||
|     # - INSTANCE: default-opensuse-leap-42-2017-7-py2 | ||||
| 
 | ||||
| script: | ||||
|   - sudo modprobe ip_vs | ||||
|   - bundle exec kitchen verify ${INSTANCE} | ||||
|   - bin/kitchen verify ${INSTANCE} | ||||
| 
 | ||||
| jobs: | ||||
|   include: | ||||
|  | ||||
							
								
								
									
										5
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								Gemfile
									
									
									
									
									
								
							| @ -1,5 +1,6 @@ | ||||
| source 'https://rubygems.org' | ||||
| source "https://rubygems.org" | ||||
| 
 | ||||
| gem 'kitchen-docker', '>= 2.9' | ||||
| gem 'kitchen-salt',   '>= 0.6.0' | ||||
| gem 'kitchen-salt', '>= 0.6.0' | ||||
| gem 'kitchen-inspec', '>= 1.1' | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										29
									
								
								bin/kitchen
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										29
									
								
								bin/kitchen
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,29 @@ | ||||
| #!/usr/bin/env ruby | ||||
| # frozen_string_literal: true | ||||
| 
 | ||||
| # | ||||
| # This file was generated by Bundler. | ||||
| # | ||||
| # The application 'kitchen' is installed as part of a gem, and | ||||
| # this file is here to facilitate running it. | ||||
| # | ||||
| 
 | ||||
| require "pathname" | ||||
| ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", | ||||
|   Pathname.new(__FILE__).realpath) | ||||
| 
 | ||||
| bundle_binstub = File.expand_path("../bundle", __FILE__) | ||||
| 
 | ||||
| if File.file?(bundle_binstub) | ||||
|   if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/ | ||||
|     load(bundle_binstub) | ||||
|   else | ||||
|     abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. | ||||
| Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") | ||||
|   end | ||||
| end | ||||
| 
 | ||||
| require "rubygems" | ||||
| require "bundler/setup" | ||||
| 
 | ||||
| load Gem.bin_path("test-kitchen", "kitchen") | ||||
| @ -156,3 +156,4 @@ An example of that: | ||||
|    BREAKING CHANGE: With the removal of all of the `.sls` files under | ||||
|    `template package`, this formula no longer supports the installation of | ||||
|    packages. | ||||
| 
 | ||||
|  | ||||
| @ -87,12 +87,13 @@ | ||||
|         {%- else %} | ||||
|           {%- set fs_dir = salt['config.get'](tplroot ~ ':tofs:dirs:default', 'default') %} | ||||
|         {%- endif %} | ||||
|         {%- set url = '- salt://' ~ '/'.join([ | ||||
|             path_prefix_inc_ext, | ||||
|             files_dir, | ||||
|             fs_dir, | ||||
|             src_file.lstrip('/') | ||||
|         ]) %} | ||||
|         {%- set url = [ | ||||
|             '- salt:/', | ||||
|             path_prefix_inc_ext.strip('/'), | ||||
|             files_dir.strip('/'), | ||||
|             fs_dir.strip('/'), | ||||
|             src_file.strip('/'), | ||||
|         ] | select | join('/') %} | ||||
| {{ url | indent(indent_width, true) }} | ||||
|       {%- endfor %} | ||||
|     {%- endfor %} | ||||
|  | ||||
							
								
								
									
										40
									
								
								kitchen.yml
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								kitchen.yml
									
									
									
									
									
								
							| @ -44,7 +44,7 @@ platforms: | ||||
|         - sh bootstrap-salt.sh -XdPbfrq -x python3 git develop | ||||
|       run_command: /usr/lib/systemd/systemd | ||||
| 
 | ||||
|   ## SALT 2019.2 | ||||
|   ## SALT `2019.2` | ||||
|   - name: debian-9-2019-2-py3 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2019.2-py3:debian-9 | ||||
| @ -62,7 +62,7 @@ platforms: | ||||
|       image: netmanagers/salt-2019.2-py3:opensuse-leap-15 | ||||
|       run_command: /usr/lib/systemd/systemd | ||||
| 
 | ||||
|   ## SALT 2018.3 | ||||
|   ## SALT `2018.3` | ||||
|   - name: debian-9-2018-3-py2 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2018.3-py2:debian-9 | ||||
| @ -75,18 +75,12 @@ platforms: | ||||
|   - name: fedora-29-2018-3-py2 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2018.3-py2:fedora-29 | ||||
|   # TODO: Use this when fixed instead of `opensuse-leap-42` | ||||
|   # Ref: https://github.com/netmanagers/salt-image-builder/issues/2 | ||||
|   # - name: opensuse-leap-15-2018-3-py2 | ||||
|   #   driver: | ||||
|   #     image: netmanagers/salt-2018.3-py2:opensuse-leap-15 | ||||
|   #     run_command: /usr/lib/systemd/systemd | ||||
|   - name: opensuse-leap-42-2018-3-py2 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2018.3-py2:opensuse-leap-42 | ||||
|       run_command: /usr/lib/systemd/systemd | ||||
| 
 | ||||
|   ## SALT 2017.7 | ||||
|   ## SALT `2017.7` | ||||
|   - name: debian-8-2017-7-py2 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2017.7-py2:debian-8 | ||||
| @ -114,17 +108,6 @@ provisioner: | ||||
|   salt_copy_filter: | ||||
|     - .kitchen | ||||
|     - .git | ||||
|   state_top: | ||||
|     base: | ||||
|       '*': | ||||
|         - keepalived | ||||
|   pillars: | ||||
|     top.sls: | ||||
|       base: | ||||
|         '*': | ||||
|           - keepalived | ||||
|   pillars_from_files: | ||||
|     keepalived.sls: pillar.example | ||||
| 
 | ||||
| verifier: | ||||
|   # https://www.inspec.io/ | ||||
| @ -133,8 +116,21 @@ verifier: | ||||
|   # cli, documentation, html, progress, json, json-min, json-rspec, junit | ||||
|   reporter: | ||||
|     - cli | ||||
|   inspec_tests: | ||||
|     - path: test/integration/default | ||||
| 
 | ||||
| suites: | ||||
|   - name: default | ||||
|     provisioner: | ||||
|       state_top: | ||||
|         base: | ||||
|           '*': | ||||
|             - keepalived | ||||
|       pillars: | ||||
|         top.sls: | ||||
|           base: | ||||
|             '*': | ||||
|               - keepalived | ||||
|       pillars_from_files: | ||||
|         keepalived.sls: pillar.example | ||||
|     verifier: | ||||
|       inspec_tests: | ||||
|         - path: test/integration/default | ||||
|  | ||||
							
								
								
									
										0
									
								
								pre-commit_semantic-release.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								pre-commit_semantic-release.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										50
									
								
								test/integration/default/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								test/integration/default/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,50 @@ | ||||
| # InSpec Profile: `default` | ||||
| 
 | ||||
| This shows the implementation of the `default` 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 default | ||||
| Summary | ||||
| ------- | ||||
| Location: default | ||||
| 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 default | ||||
| .. | ||||
| 
 | ||||
| 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 default --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). | ||||
| @ -1,12 +1,14 @@ | ||||
| name: keepalived | ||||
| title: Keepalived Formula | ||||
| maintainer: Nicolas Rodriguez | ||||
| name: default | ||||
| title: keepalived formula | ||||
| maintainer: SaltStack Formulas | ||||
| license: Apache-2.0 | ||||
| summary: Verify that the keepalived formula is setup and configured correctly | ||||
| supports: | ||||
|   - os-name: debian | ||||
|   - os-name: ubuntu | ||||
|   - os-name: centos | ||||
|   - os-name: fedora | ||||
|   - os-name: opensuse | ||||
|   - os-name: suse | ||||
|   - platform-name: debian | ||||
|   - platform-name: ubuntu | ||||
|   - platform-name: centos | ||||
|   - platform-name: fedora | ||||
|   - platform-name: opensuse | ||||
|   - platform-name: suse | ||||
|   - platform-name: freebsd | ||||
|   - platform-name: amazon | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Niels Abspoel
						Niels Abspoel