* Semi-automated using https://github.com/myii/ssf-formula/pull/308tags/v2.6.3
@@ -0,0 +1,36 @@ | |||
# -*- 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: | |||
- default-freebsd-122-latest-py3 | |||
# - freebsd-122-latest-py3 | |||
- default-freebsd-114-latest-py3 | |||
# - 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 }}' |
@@ -17,6 +17,14 @@ repos: | |||
stages: [manual] | |||
additional_dependencies: ['@commitlint/config-conventional@8.3.4'] | |||
always_run: true | |||
- repo: https://github.com/rubocop-hq/rubocop | |||
rev: v1.9.1 | |||
hooks: | |||
- id: rubocop | |||
name: Check Ruby files with rubocop | |||
args: [--debug] | |||
always_run: true | |||
pass_filenames: false | |||
- repo: https://github.com/shellcheck-py/shellcheck-py | |||
rev: v0.7.1.1 | |||
hooks: |
@@ -36,17 +36,14 @@ stages: | |||
# - name: 'release' | |||
# if: 'branch = master AND type != pull_request' | |||
jobs: | |||
allow_failures: | |||
- env: Lint_rubocop | |||
fast_finish: true | |||
include: | |||
## Define the test stage that runs the linters (and testing matrix, if applicable) | |||
# Run all of the linters in a single job (except `rubocop`) | |||
# Run all of the linters in a single job | |||
- language: 'node_js' | |||
node_js: 'lts/*' | |||
env: 'Lint' | |||
name: 'Lint: salt-lint, yamllint, shellcheck & commitlint' | |||
name: 'Lint: salt-lint, yamllint, rubocop, shellcheck & commitlint' | |||
before_install: 'skip' | |||
script: | |||
# Install and run `salt-lint` | |||
@@ -57,6 +54,9 @@ jobs: | |||
# Need at least `v1.17.0` for the `yaml-files` setting | |||
- pip install --user yamllint>=1.17.0 | |||
- yamllint -s . | |||
# Install and run `rubocop` | |||
- gem install rubocop | |||
- rubocop -d | |||
# Run `shellcheck` (already pre-installed in Travis) | |||
- shellcheck --version | |||
- git ls-files -- '*.sh' '*.bash' '*.ksh' | |||
@@ -65,17 +65,6 @@ jobs: | |||
- npm i -D @commitlint/config-conventional | |||
@commitlint/travis-cli | |||
- commitlint-travis | |||
# 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 | |||
# Run `pre-commit` linters in a single job | |||
- language: 'python' |
@@ -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 |
@@ -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 |
@@ -326,6 +326,13 @@ suites: | |||
- path: test/integration/default | |||
- name: passenger | |||
includes: | |||
- debian-10-tiamat-py3 | |||
- debian-9-tiamat-py3 | |||
- ubuntu-2004-tiamat-py3 | |||
- ubuntu-1804-tiamat-py3 | |||
- centos-8-tiamat-py3 | |||
- centos-7-tiamat-py3 | |||
- oraclelinux-8-tiamat-py3 | |||
- debian-10-master-py3 | |||
- debian-9-master-py3 | |||
- ubuntu-2004-master-py3 | |||
@@ -333,6 +340,27 @@ suites: | |||
- centos-8-master-py3 | |||
- centos-7-master-py3 | |||
- oraclelinux-8-master-py3 | |||
- debian-10-3002-5-py3 | |||
- debian-9-3002-5-py3 | |||
- ubuntu-2004-3002-5-py3 | |||
- ubuntu-1804-3002-5-py3 | |||
- centos-8-3002-5-py3 | |||
- centos-7-3002-5-py3 | |||
- oraclelinux-8-3002-5-py3 | |||
- debian-10-3001-6-py3 | |||
- debian-9-3001-6-py3 | |||
- ubuntu-2004-3001-6-py3 | |||
- ubuntu-1804-3001-6-py3 | |||
- centos-8-3001-6-py3 | |||
- centos-7-3001-6-py3 | |||
- oraclelinux-8-3001-6-py3 | |||
- debian-10-3000-8-py3 | |||
- debian-9-3000-8-py3 | |||
- ubuntu-1804-3000-8-py3 | |||
- centos-8-3000-8-py3 | |||
- centos-7-3000-8-py3 | |||
- oraclelinux-8-3000-8-py3 | |||
- ubuntu-1804-3000-8-py2 | |||
provisioner: | |||
state_top: | |||
base: |