ci: merge travis matrix, add salt-lint & rubocop to lint job
				
					
				
			* Semi-automated using https://github.com/myii/ssf-formula/pull/60
This commit is contained in:
		
							parent
							
								
									01f5ede277
								
							
						
					
					
						commit
						a5a8a959d6
					
				
							
								
								
									
										10
									
								
								.rubocop.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.rubocop.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
# vim: ft=yaml
 | 
			
		||||
---
 | 
			
		||||
# General overrides used across formulas in the org
 | 
			
		||||
Metrics/LineLength:
 | 
			
		||||
  # Increase from default of `80`
 | 
			
		||||
  # Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
 | 
			
		||||
  Max: 88
 | 
			
		||||
 | 
			
		||||
# Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config`
 | 
			
		||||
							
								
								
									
										15
									
								
								.salt-lint
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								.salt-lint
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
# vim: ft=yaml
 | 
			
		||||
---
 | 
			
		||||
exclude_paths:
 | 
			
		||||
  # Save time spent checking files by avoiding the deprecated `ng/` directory
 | 
			
		||||
  - php/ng/
 | 
			
		||||
skip_list:
 | 
			
		||||
  # Using `salt-lint` for linting other files as well, such as Jinja macros/templates
 | 
			
		||||
  - 205  # Use ".sls" as a Salt State file extension
 | 
			
		||||
  # Skipping `207` and `208` because `210` is sufficient, at least for the time-being
 | 
			
		||||
  # I.e. Allows 3-digit unquoted codes to still be used, such as `644` and `755`
 | 
			
		||||
  - 207  # File modes should always be encapsulated in quotation marks
 | 
			
		||||
  - 208  # File modes should always contain a leading zero
 | 
			
		||||
tags: []
 | 
			
		||||
verbosity: 1
 | 
			
		||||
							
								
								
									
										109
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										109
									
								
								.travis.yml
									
									
									
									
									
								
							@ -1,60 +1,43 @@
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
# vim: ft=yaml
 | 
			
		||||
---
 | 
			
		||||
## Machine config
 | 
			
		||||
dist: bionic
 | 
			
		||||
stages:
 | 
			
		||||
  - test
 | 
			
		||||
  - lint
 | 
			
		||||
  - name: release
 | 
			
		||||
    if: branch = master AND type != pull_request
 | 
			
		||||
 | 
			
		||||
sudo: required
 | 
			
		||||
cache: bundler
 | 
			
		||||
language: ruby
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  - docker
 | 
			
		||||
 | 
			
		||||
# Make sure the instances listed below match up with
 | 
			
		||||
# the `platforms` defined in `kitchen.yml`
 | 
			
		||||
env:
 | 
			
		||||
  matrix:
 | 
			
		||||
    - INSTANCE: debian-debian-10-develop-py3
 | 
			
		||||
    # - INSTANCE: ubuntu-ubuntu-1804-develop-py3
 | 
			
		||||
    # - INSTANCE: redhat-centos-7-develop-py3
 | 
			
		||||
    # - INSTANCE: redhat-fedora-30-develop-py3
 | 
			
		||||
    # - INSTANCE: suse-opensuse-leap-15-develop-py3
 | 
			
		||||
    # - INSTANCE: redhat-amazonlinux-2-develop-py2
 | 
			
		||||
    # - INSTANCE: debian-debian-9-2019-2-py3
 | 
			
		||||
    - INSTANCE: ubuntu-ubuntu-1804-2019-2-py3
 | 
			
		||||
    # - INSTANCE: redhat-centos-7-2019-2-py3
 | 
			
		||||
    # - INSTANCE: redhat-fedora-30-2019-2-py3
 | 
			
		||||
    # - INSTANCE: suse-opensuse-leap-15-2019-2-py3
 | 
			
		||||
    - INSTANCE: redhat-amazonlinux-2-2019-2-py2
 | 
			
		||||
    # - INSTANCE: debian-debian-9-2018-3-py2
 | 
			
		||||
    # - INSTANCE: ubuntu-ubuntu-1604-2018-3-py2
 | 
			
		||||
    # - INSTANCE: redhat-centos-7-2018-3-py2
 | 
			
		||||
    - INSTANCE: redhat-fedora-29-2018-3-py2
 | 
			
		||||
    - INSTANCE: suse-opensuse-leap-15-2018-3-py2
 | 
			
		||||
    # - INSTANCE: redhat-amazonlinux-2-2018-3-py2
 | 
			
		||||
    # - INSTANCE: debian-debian-8-2017-7-py2
 | 
			
		||||
    # - INSTANCE: ubuntu-ubuntu-1604-2017-7-py2
 | 
			
		||||
    - INSTANCE: redhat-centos-6-2017-7-py2
 | 
			
		||||
    # - INSTANCE: redhat-fedora-29-2017-7-py2
 | 
			
		||||
    # - INSTANCE: suse-opensuse-leap-15-2017-7-py2
 | 
			
		||||
    # - INSTANCE: redhat-amazonlinux-2-2017-7-py2
 | 
			
		||||
## Language and cache config
 | 
			
		||||
language: ruby
 | 
			
		||||
cache: bundler
 | 
			
		||||
 | 
			
		||||
## Script to run for the test stage
 | 
			
		||||
script:
 | 
			
		||||
  - bin/kitchen verify ${INSTANCE}
 | 
			
		||||
  - bin/kitchen verify "${INSTANCE}"
 | 
			
		||||
 | 
			
		||||
## Stages and jobs matrix
 | 
			
		||||
stages:
 | 
			
		||||
  - test
 | 
			
		||||
  - name: release
 | 
			
		||||
    if: branch = master AND type != pull_request
 | 
			
		||||
jobs:
 | 
			
		||||
  allow_failures:
 | 
			
		||||
    - env: Lint_rubocop
 | 
			
		||||
  fast_finish: true
 | 
			
		||||
  include:
 | 
			
		||||
    # Define the `lint` stage (runs `yamllint` and `commitlint`)
 | 
			
		||||
    - stage: lint
 | 
			
		||||
      language: node_js
 | 
			
		||||
    ## Define the test stage that runs the linters (and testing matrix, if applicable)
 | 
			
		||||
 | 
			
		||||
    # Run all of the linters in a single job (except `rubocop`)
 | 
			
		||||
    - language: node_js
 | 
			
		||||
      node_js: lts/*
 | 
			
		||||
      env: Lint
 | 
			
		||||
      name: 'Lint: salt-lint, yamllint & commitlint'
 | 
			
		||||
      before_install: skip
 | 
			
		||||
      script:
 | 
			
		||||
        # Install and run `salt-lint`
 | 
			
		||||
        - pip install --user salt-lint
 | 
			
		||||
        - git ls-files | grep '\.sls$\|\.jinja$\|\.j2$\|\.tmpl$'
 | 
			
		||||
                       | xargs -I {} salt-lint {}
 | 
			
		||||
        # Install and run `yamllint`
 | 
			
		||||
        # Need at least `v1.17.0` for the `yaml-files` setting
 | 
			
		||||
        - pip install --user yamllint>=1.17.0
 | 
			
		||||
@ -63,10 +46,52 @@ jobs:
 | 
			
		||||
        - npm install @commitlint/config-conventional -D
 | 
			
		||||
        - npm install @commitlint/travis-cli -D
 | 
			
		||||
        - commitlint-travis
 | 
			
		||||
    # Define the release stage that runs `semantic-release`
 | 
			
		||||
    # Run the `rubocop` linter in a separate job that is allowed to fail
 | 
			
		||||
    # Once these lint errors are fixed, this can be merged into a single job
 | 
			
		||||
    - language: node_js
 | 
			
		||||
      node_js: lts/*
 | 
			
		||||
      env: Lint_rubocop
 | 
			
		||||
      name: 'Lint: rubocop'
 | 
			
		||||
      before_install: skip
 | 
			
		||||
      script:
 | 
			
		||||
        # Install and run `rubocop`
 | 
			
		||||
        - gem install rubocop
 | 
			
		||||
        - rubocop -d
 | 
			
		||||
 | 
			
		||||
    ## 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=debian-debian-10-develop-py3
 | 
			
		||||
    # - env: INSTANCE=ubuntu-ubuntu-1804-develop-py3
 | 
			
		||||
    # - env: INSTANCE=redhat-centos-7-develop-py3
 | 
			
		||||
    # - env: INSTANCE=redhat-fedora-30-develop-py3
 | 
			
		||||
    # - env: INSTANCE=suse-opensuse-leap-15-develop-py3
 | 
			
		||||
    # - env: INSTANCE=redhat-amazonlinux-2-develop-py2
 | 
			
		||||
    # - env: INSTANCE=debian-debian-9-2019-2-py3
 | 
			
		||||
    - env: INSTANCE=ubuntu-ubuntu-1804-2019-2-py3
 | 
			
		||||
    # - env: INSTANCE=redhat-centos-7-2019-2-py3
 | 
			
		||||
    # - env: INSTANCE=redhat-fedora-30-2019-2-py3
 | 
			
		||||
    # - env: INSTANCE=suse-opensuse-leap-15-2019-2-py3
 | 
			
		||||
    - env: INSTANCE=redhat-amazonlinux-2-2019-2-py2
 | 
			
		||||
    # - env: INSTANCE=debian-debian-9-2018-3-py2
 | 
			
		||||
    # - env: INSTANCE=ubuntu-ubuntu-1604-2018-3-py2
 | 
			
		||||
    # - env: INSTANCE=redhat-centos-7-2018-3-py2
 | 
			
		||||
    - env: INSTANCE=redhat-fedora-29-2018-3-py2
 | 
			
		||||
    - env: INSTANCE=suse-opensuse-leap-15-2018-3-py2
 | 
			
		||||
    # - env: INSTANCE=redhat-amazonlinux-2-2018-3-py2
 | 
			
		||||
    # - env: INSTANCE=debian-debian-8-2017-7-py2
 | 
			
		||||
    # - env: INSTANCE=ubuntu-ubuntu-1604-2017-7-py2
 | 
			
		||||
    - env: INSTANCE=redhat-centos-6-2017-7-py2
 | 
			
		||||
    # - env: INSTANCE=redhat-fedora-29-2017-7-py2
 | 
			
		||||
    # - env: INSTANCE=suse-opensuse-leap-15-2017-7-py2
 | 
			
		||||
    # - env: INSTANCE=redhat-amazonlinux-2-2017-7-py2
 | 
			
		||||
 | 
			
		||||
    ## Define the release stage that runs `semantic-release`
 | 
			
		||||
    - stage: release
 | 
			
		||||
      language: node_js
 | 
			
		||||
      node_js: lts/*
 | 
			
		||||
      env: Release
 | 
			
		||||
      name: 'Run semantic-release inc. file updates to AUTHORS, CHANGELOG & FORMULA'
 | 
			
		||||
      before_install: skip
 | 
			
		||||
      script:
 | 
			
		||||
        # Update `AUTHORS.md`
 | 
			
		||||
 | 
			
		||||
@ -17,6 +17,7 @@ yaml-files:
 | 
			
		||||
  # Default settings
 | 
			
		||||
  - '*.yaml'
 | 
			
		||||
  - '*.yml'
 | 
			
		||||
  - .salt-lint
 | 
			
		||||
  - .yamllint
 | 
			
		||||
  # SaltStack Formulas additional settings
 | 
			
		||||
  - '*.example'
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										7
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								Gemfile
									
									
									
									
									
								
							@ -1,6 +1,7 @@
 | 
			
		||||
source "https://rubygems.org"
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
source 'https://rubygems.org'
 | 
			
		||||
 | 
			
		||||
gem 'kitchen-docker', '>= 2.9'
 | 
			
		||||
gem 'kitchen-salt', '>= 0.6.0'
 | 
			
		||||
gem 'kitchen-inspec', '>= 1.1'
 | 
			
		||||
 | 
			
		||||
gem 'kitchen-salt', '>= 0.6.0'
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										21
									
								
								bin/kitchen
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								bin/kitchen
									
									
									
									
									
								
							@ -8,22 +8,25 @@
 | 
			
		||||
# this file is here to facilitate running it.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
require "pathname"
 | 
			
		||||
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
 | 
			
		||||
  Pathname.new(__FILE__).realpath)
 | 
			
		||||
require 'pathname'
 | 
			
		||||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
 | 
			
		||||
                                           Pathname.new(__FILE__).realpath)
 | 
			
		||||
 | 
			
		||||
bundle_binstub = File.expand_path("../bundle", __FILE__)
 | 
			
		||||
bundle_binstub = File.expand_path('bundle', __dir__)
 | 
			
		||||
 | 
			
		||||
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.")
 | 
			
		||||
    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"
 | 
			
		||||
require 'rubygems'
 | 
			
		||||
require 'bundler/setup'
 | 
			
		||||
 | 
			
		||||
load Gem.bin_path("test-kitchen", "kitchen")
 | 
			
		||||
load Gem.bin_path('test-kitchen', 'kitchen')
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user