* Semi-automated using https://github.com/myii/ssf-formula/pull/308tags/v2.6.3
# -*- 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 }}' |
stages: [manual] | stages: [manual] | ||||
additional_dependencies: ['@commitlint/config-conventional@8.3.4'] | additional_dependencies: ['@commitlint/config-conventional@8.3.4'] | ||||
always_run: true | 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 | - repo: https://github.com/shellcheck-py/shellcheck-py | ||||
rev: v0.7.1.1 | rev: v0.7.1.1 | ||||
hooks: | hooks: |
# - name: 'release' | # - name: 'release' | ||||
# if: 'branch = master AND type != pull_request' | # if: 'branch = master AND type != pull_request' | ||||
jobs: | jobs: | ||||
allow_failures: | |||||
- env: Lint_rubocop | |||||
fast_finish: true | |||||
include: | include: | ||||
## Define the test stage that runs the linters (and testing matrix, if applicable) | ## 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' | - language: 'node_js' | ||||
node_js: 'lts/*' | node_js: 'lts/*' | ||||
env: 'Lint' | env: 'Lint' | ||||
name: 'Lint: salt-lint, yamllint, shellcheck & commitlint' | |||||
name: 'Lint: salt-lint, yamllint, rubocop, shellcheck & commitlint' | |||||
before_install: 'skip' | before_install: 'skip' | ||||
script: | script: | ||||
# Install and run `salt-lint` | # Install and run `salt-lint` | ||||
# Need at least `v1.17.0` for the `yaml-files` setting | # Need at least `v1.17.0` for the `yaml-files` setting | ||||
- pip install --user yamllint>=1.17.0 | - pip install --user yamllint>=1.17.0 | ||||
- yamllint -s . | - yamllint -s . | ||||
# Install and run `rubocop` | |||||
- gem install rubocop | |||||
- rubocop -d | |||||
# Run `shellcheck` (already pre-installed in Travis) | # Run `shellcheck` (already pre-installed in Travis) | ||||
- shellcheck --version | - shellcheck --version | ||||
- git ls-files -- '*.sh' '*.bash' '*.ksh' | - git ls-files -- '*.sh' '*.bash' '*.ksh' | ||||
- npm i -D @commitlint/config-conventional | - npm i -D @commitlint/config-conventional | ||||
@commitlint/travis-cli | @commitlint/travis-cli | ||||
- commitlint-travis | - 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 | # Run `pre-commit` linters in a single job | ||||
- language: 'python' | - language: 'python' |
# 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 |
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) | ||||
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 |
# -*- 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 |
- path: test/integration/default | - path: test/integration/default | ||||
- name: passenger | - name: passenger | ||||
includes: | 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-10-master-py3 | ||||
- debian-9-master-py3 | - debian-9-master-py3 | ||||
- ubuntu-2004-master-py3 | - ubuntu-2004-master-py3 | ||||
- centos-8-master-py3 | - centos-8-master-py3 | ||||
- centos-7-master-py3 | - centos-7-master-py3 | ||||
- oraclelinux-8-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: | provisioner: | ||||
state_top: | state_top: | ||||
base: | base: |