Skip to content

Commit e8211ab

Browse files
Merge branch 'master' into metastate
2 parents 2bf33e2 + 6cd296c commit e8211ab

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+583
-409
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,3 +120,7 @@ docs/*.md
120120
Dockerfile.*_*
121121
ignore/
122122
tmp/
123+
124+
#Vagrant Specific files
125+
.vagrant
126+
top.sls

.rubocop.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# -*- coding: utf-8 -*-
2+
# vim: ft=yaml
3+
---
4+
# General overrides used across formulas in the org
5+
Metrics/LineLength:
6+
# Increase from default of `80`
7+
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
8+
Max: 88
9+
10+
# Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config`

.salt-lint

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# -*- coding: utf-8 -*-
2+
# vim: ft=yaml
3+
---
4+
exclude_paths: []
5+
rules: {}
6+
skip_list:
7+
# Using `salt-lint` for linting other files as well, such as Jinja macros/templates
8+
- 205 # Use ".sls" as a Salt State file extension
9+
# Skipping `207` and `208` because `210` is sufficient, at least for the time-being
10+
# I.e. Allows 3-digit unquoted codes to still be used, such as `644` and `755`
11+
- 207 # File modes should always be encapsulated in quotation marks
12+
- 208 # File modes should always contain a leading zero
13+
tags: []
14+
verbosity: 1

.travis.yml

Lines changed: 83 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,110 @@
11
# -*- coding: utf-8 -*-
22
# vim: ft=yaml
33
---
4-
dist: bionic
5-
stages:
6-
- test
7-
- lint
8-
- name: release
9-
if: branch = master AND type != pull_request
4+
## Machine config
5+
os: 'linux'
6+
arch: 'amd64'
7+
dist: 'bionic'
8+
version: '~> 1.0'
109

11-
sudo: required
12-
cache: bundler
13-
language: ruby
10+
## Language and cache config
11+
language: 'ruby'
12+
cache: 'bundler'
1413

14+
## Services config
1515
services:
1616
- docker
1717

18-
# Make sure the instances listed below match up with
19-
# the `platforms` defined in `kitchen.yml`
20-
env:
21-
matrix:
22-
# The ordering used below has been selected based on the time required in Travis
23-
# The slower ones are kept as high up as possible, to run concurrently rather than
24-
# slow down the entire run at the end (i.e. `centos-6` and `opensuse`)
25-
# However, the groupings needed to be maintained in some semblance of order
26-
# so this is a best-effort matrix, in the circumstances
27-
# - INSTANCE: v201707-py2-debian-8-2017-7-py2
28-
- INSTANCE: v201707-py2-ubuntu-1604-2017-7-py2
29-
- INSTANCE: v201707-py2-centos-6-2017-7-py2
30-
# - INSTANCE: v201707-py2-amazonlinux-2-2017-7-py2
31-
# - INSTANCE: v201803-py2-debian-9-2018-3-py2
32-
# - INSTANCE: v201803-py2-ubuntu-1604-2018-3-py2
33-
- INSTANCE: v201803-py2-centos-7-2018-3-py2
34-
- INSTANCE: v201803-py2-amazonlinux-2-2018-3-py2
35-
- INSTANCE: v201902-py2-debian-9-2019-2-py2
36-
- INSTANCE: v201902-py2-ubuntu-1804-2019-2-py2
37-
# - INSTANCE: v201902-py2-centos-7-2019-2-py2
38-
# - INSTANCE: v201902-py2-opensuse-leap-15-2019-2-py2
39-
# - INSTANCE: v201902-py2-amazonlinux-2-2019-2-py2
40-
# - INSTANCE: v201902-py3-debian-9-2019-2-py3
41-
# - INSTANCE: v201902-py3-ubuntu-1804-2019-2-py3
42-
# - INSTANCE: v201902-py3-centos-7-2019-2-py3
43-
- INSTANCE: v201902-py3-fedora-30-2019-2-py3
44-
- INSTANCE: v201902-py3-opensuse-leap-15-2019-2-py3
45-
18+
## Script to run for the test stage
4619
script:
47-
- bin/kitchen verify ${INSTANCE}
20+
- bin/kitchen verify "${INSTANCE}"
4821

22+
## Stages and jobs matrix
23+
stages:
24+
- test
25+
- name: 'release'
26+
if: 'branch = master AND type != pull_request'
4927
jobs:
5028
include:
51-
# Define the `lint` stage (runs `yamllint` and `commitlint`)
52-
- stage: lint
53-
language: node_js
54-
node_js: lts/*
55-
before_install: skip
29+
## Define the test stage that runs the linters (and testing matrix, if applicable)
30+
31+
# Run all of the linters in a single job
32+
- language: 'node_js'
33+
node_js: 'lts/*'
34+
env: 'Lint'
35+
name: 'Lint: salt-lint, yamllint, rubocop, shellcheck & commitlint'
36+
before_install: 'skip'
5637
script:
38+
# Install and run `salt-lint`
39+
- pip install --user salt-lint
40+
- git ls-files -- '*.sls' '*.jinja' '*.j2' '*.tmpl' '*.tst'
41+
| xargs salt-lint
5742
# Install and run `yamllint`
5843
# Need at least `v1.17.0` for the `yaml-files` setting
5944
- pip install --user yamllint>=1.17.0
6045
- yamllint -s .
46+
# Install and run `rubocop`
47+
- gem install rubocop
48+
- rubocop -d
49+
# Run `shellcheck` (already pre-installed in Travis)
50+
- shellcheck --version
51+
- git ls-files -- '*.sh' '*.bash' '*.ksh'
52+
| xargs shellcheck
6153
# Install and run `commitlint`
62-
- npm install @commitlint/config-conventional -D
63-
- npm install @commitlint/travis-cli -D
54+
- npm i -D @commitlint/config-conventional
55+
@commitlint/travis-cli
6456
- commitlint-travis
65-
# Define the release stage that runs `semantic-release`
66-
- stage: release
67-
language: node_js
68-
node_js: lts/*
69-
before_install: skip
57+
58+
## Define the rest of the matrix based on Kitchen testing
59+
# Make sure the instances listed below match up with
60+
# the `platforms` defined in `kitchen.yml`
61+
# The ordering used below has been selected based on the time required in Travis
62+
# The slower ones are kept as high up as possible, to run concurrently rather than
63+
# slow down the entire run at the end (i.e. `centos-6` and `opensuse`)
64+
# However, the groupings needed to be maintained in some semblance of order
65+
# so this is a best-effort matrix, in the circumstances
66+
# - env: INSTANCE=v201707-py2-debian-8-2017-7-py2
67+
- env: INSTANCE=v201707-py2-ubuntu-1604-2017-7-py2
68+
- env: INSTANCE=v201707-py2-centos-6-2017-7-py2
69+
# - env: INSTANCE=v201707-py2-amazonlinux-2-2017-7-py2
70+
# - env: INSTANCE=v201707-py2-arch-base-latest-2017-7-py2
71+
- env: INSTANCE=v201803-py2-debian-9-2018-3-py2
72+
# - env: INSTANCE=v201803-py2-ubuntu-1604-2018-3-py2
73+
- env: INSTANCE=v201803-py2-centos-7-2018-3-py2
74+
# - env: INSTANCE=v201803-py2-amazonlinux-2-2018-3-py2
75+
# - env: INSTANCE=v201803-py2-arch-base-latest-2018-3-py2
76+
- env: INSTANCE=v201902-py2-ubuntu-1804-2019-2-py2
77+
# - env: INSTANCE=v201902-py2-centos-7-2019-2-py2
78+
- env: INSTANCE=v201902-py2-amazonlinux-2-2019-2-py2
79+
# - env: INSTANCE=v201902-py2-arch-base-latest-2019-2-py2
80+
- env: INSTANCE=v201902-py3-debian-10-2019-2-py3
81+
# - env: INSTANCE=v201902-py3-debian-9-2019-2-py3
82+
# - env: INSTANCE=v201902-py3-ubuntu-1804-2019-2-py3
83+
# - env: INSTANCE=v201902-py3-centos-8-2019-2-py3
84+
- env: INSTANCE=v201902-py3-opensuse-leap-151-2019-2-py3
85+
86+
## Define the release stage that runs `semantic-release`
87+
- stage: 'release'
88+
language: 'node_js'
89+
node_js: 'lts/*'
90+
env: 'Release'
91+
name: 'Run semantic-release inc. file updates to AUTHORS, CHANGELOG & FORMULA'
92+
before_install: 'skip'
7093
script:
7194
# Update `AUTHORS.md`
7295
- export MAINTAINER_TOKEN=${GH_TOKEN}
7396
- go get github.com/myii/maintainer
7497
- maintainer contributor
7598

7699
# Install all dependencies required for `semantic-release`
77-
- npm install @semantic-release/changelog@3 -D
78-
- npm install @semantic-release/exec@3 -D
79-
- npm install @semantic-release/git@7 -D
100+
- npm i -D @semantic-release/changelog@3
101+
@semantic-release/exec@3
102+
@semantic-release/git@7
80103
deploy:
81-
provider: script
82-
skip_cleanup: true
83-
script:
84-
# Run `semantic-release`
85-
- npx semantic-release@15
104+
provider: 'script'
105+
# Opt-in to `dpl v2` to complete the Travis build config validation (beta)
106+
# * https://docs.travis-ci.com/user/build-config-validation
107+
# Deprecated `skip_cleanup` can now be avoided, `cleanup: false` is by default
108+
edge: true
109+
# Run `semantic-release`
110+
script: 'npx [email protected]'

.yamllint

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,20 @@ extends: default
77
# Files to ignore completely
88
# 1. All YAML files under directory `node_modules/`, introduced during the Travis run
99
# 2. Any SLS files under directory `test/`, which are actually state files
10-
# 3. All YAML files heavily reliant on Jinja; these can be tackled in a subsequent PR
10+
# 3. Any YAML files under directory `.kitchen/`, introduced during local testing
11+
# 4. All YAML files heavily reliant on Jinja; these can be tackled in a subsequent PR
1112
ignore: |
1213
node_modules/
1314
test/**/states/**/*.sls
15+
.kitchen/
1416
salt/osfamilymap.yaml
1517
salt/osmap.yaml
1618
1719
yaml-files:
1820
# Default settings
1921
- '*.yaml'
2022
- '*.yml'
23+
- .salt-lint
2124
- .yamllint
2225
# SaltStack Formulas additional settings
2326
- '*.example'
@@ -31,3 +34,6 @@ rules:
3134
# Increase from default of `80`
3235
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
3336
max: 88
37+
octal-values:
38+
forbid-implicit-octal: true
39+
forbid-explicit-octal: true

AUTHORS.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ This list is sorted by the number of commits per contributor in _descending_ ord
44

55
Avatar|Contributor|Contributions
66
:-:|---|:-:
7-
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>|[@aboe76](https://github.com/aboe76)|98
7+
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>|[@aboe76](https://github.com/aboe76)|100
88
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>|[@gravyboat](https://github.com/gravyboat)|71
9+
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>|[@myii](https://github.com/myii)|70
910
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/3374962?v=4' width='36' height='36' alt='@nmadhok'>|[@nmadhok](https://github.com/nmadhok)|54
10-
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>|[@myii](https://github.com/myii)|31
1111
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/20441?v=4' width='36' height='36' alt='@iggy'>|[@iggy](https://github.com/iggy)|22
1212
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/528061?v=4' width='36' height='36' alt='@puneetk'>|[@puneetk](https://github.com/puneetk)|21
1313
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/242396?v=4' width='36' height='36' alt='@javierbertoli'>|[@javierbertoli](https://github.com/javierbertoli)|20
1414
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/7139195?v=4' width='36' height='36' alt='@xenophonf'>|[@xenophonf](https://github.com/xenophonf)|18
15+
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/13322818?v=4' width='36' height='36' alt='@noelmcloughlin'>|[@noelmcloughlin](https://github.com/noelmcloughlin)|16
1516
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/7460036?v=4' width='36' height='36' alt='@andrew-vant'>|[@andrew-vant](https://github.com/andrew-vant)|13
1617
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/91293?v=4' width='36' height='36' alt='@whiteinge'>|[@whiteinge](https://github.com/whiteinge)|12
17-
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/13322818?v=4' width='36' height='36' alt='@noelmcloughlin'>|[@noelmcloughlin](https://github.com/noelmcloughlin)|12
1818
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1013915?v=4' width='36' height='36' alt='@rhertzog'>|[@rhertzog](https://github.com/rhertzog)|11
1919
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/358074?v=4' width='36' height='36' alt='@pcdummy'>|[@pcdummy](https://github.com/pcdummy)|11
2020
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/117961?v=4' width='36' height='36' alt='@babilen5'>|[@babilen5](https://github.com/babilen5)|8
@@ -32,11 +32,11 @@ Avatar|Contributor|Contributions
3232
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/745513?v=4' width='36' height='36' alt='@EvaSDK'>|[@EvaSDK](https://github.com/EvaSDK)|4
3333
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/41886?v=4' width='36' height='36' alt='@jbouse'>|[@jbouse](https://github.com/jbouse)|4
3434
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/48949?v=4' width='36' height='36' alt='@tampakrap'>|[@tampakrap](https://github.com/tampakrap)|4
35+
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/31497?v=4' width='36' height='36' alt='@MSeven'>|[@MSeven](https://github.com/MSeven)|4
3536
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/4195158?v=4' width='36' height='36' alt='@dafyddj'>|[@dafyddj](https://github.com/dafyddj)|3
3637
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/652532?v=4' width='36' height='36' alt='@jcftang'>|[@jcftang](https://github.com/jcftang)|3
3738
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/830800?v=4' width='36' height='36' alt='@johtso'>|[@johtso](https://github.com/johtso)|3
3839
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/90042?v=4' width='36' height='36' alt='@kev009'>|[@kev009](https://github.com/kev009)|3
39-
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/31497?v=4' width='36' height='36' alt='@MSeven'>|[@MSeven](https://github.com/MSeven)|3
4040
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/299386?v=4' width='36' height='36' alt='@excavador'>|[@excavador](https://github.com/excavador)|3
4141
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/21147643?v=4' width='36' height='36' alt='@vquiering'>|[@vquiering](https://github.com/vquiering)|3
4242
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/2377054?v=4' width='36' height='36' alt='@smlloyd'>|[@smlloyd](https://github.com/smlloyd)|3
@@ -101,9 +101,10 @@ Avatar|Contributor|Contributions
101101
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/94636?v=4' width='36' height='36' alt='@jpic'>|[@jpic](https://github.com/jpic)|1
102102
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/6826176?v=4' width='36' height='36' alt='@kabakaev'>|[@kabakaev](https://github.com/kabakaev)|1
103103
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1610361?v=4' width='36' height='36' alt='@mechleg'>|[@mechleg](https://github.com/mechleg)|1
104+
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/46799934?v=4' width='36' height='36' alt='@sticky-note'>|[@sticky-note](https://github.com/sticky-note)|1
104105
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/2089076?v=4' width='36' height='36' alt='@ze42'>|[@ze42](https://github.com/ze42)|1
105106
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/542613?v=4' width='36' height='36' alt='@bersace'>|[@bersace](https://github.com/bersace)|1
106107

107108
---
108109

109-
Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2019-09-25.
110+
Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2020-01-25.

0 commit comments

Comments
 (0)