1
1
# -*- coding: utf-8 -*-
2
2
# vim: ft=yaml
3
3
---
4
+ # # Machine config
4
5
dist : bionic
5
- stages :
6
- - test
7
- - lint
8
- - name : release
9
- if : branch = master AND type != pull_request
10
-
11
6
sudo : required
12
- cache : bundler
13
- language : ruby
14
-
15
7
services :
16
8
- docker
17
9
18
- # Make sure the instances listed below match up with
19
- # the `platforms` defined in `kitchen.yml`
20
- env :
21
- matrix :
22
- - INSTANCE : default-debian-10-develop-py3
23
- # - INSTANCE: tables-debian-10-develop-py3
24
- # - INSTANCE: default-ubuntu-1804-develop-py3
25
- # - INSTANCE: tables-ubuntu-1804-develop-py3
26
- # - INSTANCE: default-centos-7-develop-py3
27
- # - INSTANCE: tables-centos-7-develop-py3
28
- # - INSTANCE: default-fedora-30-develop-py3
29
- # - INSTANCE: tables-fedora-30-develop-py3
30
- # - INSTANCE: default-opensuse-leap-15-develop-py3
31
- # - INSTANCE: tables-opensuse-leap-15-develop-py3
32
- # - INSTANCE: default-amazonlinux-2-develop-py2
33
- # - INSTANCE: tables-amazonlinux-2-develop-py2
34
- # - INSTANCE: default-arch-base-latest-develop-py2
35
- # - INSTANCE: tables-arch-base-latest-develop-py2
36
- # - INSTANCE: default-debian-9-2019-2-py3
37
- # - INSTANCE: tables-debian-9-2019-2-py3
38
- - INSTANCE : default-ubuntu-1804-2019-2-py3
39
- # - INSTANCE: tables-ubuntu-1804-2019-2-py3
40
- # - INSTANCE: default-centos-7-2019-2-py3
41
- # - INSTANCE: tables-centos-7-2019-2-py3
42
- # - INSTANCE: default-fedora-30-2019-2-py3
43
- # - INSTANCE: tables-fedora-30-2019-2-py3
44
- # - INSTANCE: default-opensuse-leap-15-2019-2-py3
45
- # - INSTANCE: tables-opensuse-leap-15-2019-2-py3
46
- - INSTANCE : default-amazonlinux-2-2019-2-py2
47
- # - INSTANCE: tables-amazonlinux-2-2019-2-py2
48
- - INSTANCE : default-arch-base-latest-2019-2-py2
49
- # - INSTANCE: tables-arch-base-latest-2019-2-py2
50
- # - INSTANCE: default-debian-9-2018-3-py2
51
- # - INSTANCE: tables-debian-9-2018-3-py2
52
- # - INSTANCE: default-ubuntu-1604-2018-3-py2
53
- # - INSTANCE: tables-ubuntu-1604-2018-3-py2
54
- - INSTANCE : default-centos-7-2018-3-py2
55
- # - INSTANCE: tables-centos-7-2018-3-py2
56
- - INSTANCE : default-fedora-29-2018-3-py2
57
- # - INSTANCE: tables-fedora-29-2018-3-py2
58
- # - INSTANCE: default-opensuse-leap-15-2018-3-py2
59
- # - INSTANCE: tables-opensuse-leap-15-2018-3-py2
60
- # - INSTANCE: default-amazonlinux-2-2018-3-py2
61
- # - INSTANCE: tables-amazonlinux-2-2018-3-py2
62
- # - INSTANCE: default-arch-base-latest-2018-3-py2
63
- # - INSTANCE: tables-arch-base-latest-2018-3-py2
64
- # - INSTANCE: default-debian-8-2017-7-py2
65
- # - INSTANCE: tables-debian-8-2017-7-py2
66
- # - INSTANCE: default-ubuntu-1604-2017-7-py2
67
- # - INSTANCE: tables-ubuntu-1604-2017-7-py2
68
- # - INSTANCE: default-centos-6-2017-7-py2
69
- # - INSTANCE: tables-centos-6-2017-7-py2
70
- # - INSTANCE: default-fedora-29-2017-7-py2
71
- # - INSTANCE: tables-fedora-29-2017-7-py2
72
- # - INSTANCE: default-opensuse-leap-15-2017-7-py2
73
- - INSTANCE : tables-opensuse-leap-15-2017-7-py2
74
- # - INSTANCE: default-amazonlinux-2-2017-7-py2
75
- # - INSTANCE: tables-amazonlinux-2-2017-7-py2
76
- # - INSTANCE: default-arch-base-latest-2017-7-py2
77
- # - INSTANCE: tables-arch-base-latest-2017-7-py2
10
+ # # Language and cache config
11
+ language : ruby
12
+ cache : bundler
78
13
14
+ # # Script to run for the test stage
79
15
script :
80
- - bin/kitchen verify ${INSTANCE}
16
+ - bin/kitchen verify " ${INSTANCE}"
81
17
18
+ # # Stages and jobs matrix
19
+ stages :
20
+ - test
21
+ - name : release
22
+ if : branch = master AND type != pull_request
82
23
jobs :
24
+ allow_failures :
25
+ - env : Lint_rubocop
26
+ fast_finish : true
83
27
include :
84
- # Define the `lint` stage (runs `yamllint` and `commitlint`)
85
- - stage : lint
86
- language : node_js
28
+ # # Define the test stage that runs the linters (and testing matrix, if applicable)
29
+
30
+ # Run all of the linters in a single job (except `rubocop`)
31
+ - language : node_js
87
32
node_js : lts/*
33
+ env : Lint
34
+ name : ' Lint: salt-lint, yamllint & commitlint'
88
35
before_install : skip
89
36
script :
37
+ # Install and run `salt-lint`
38
+ - pip install --user salt-lint
39
+ - git ls-files | grep '\.sls$\|\.jinja$\|\.j2$\|\.tmpl$'
40
+ | xargs -I {} salt-lint {}
90
41
# Install and run `yamllint`
91
42
# Need at least `v1.17.0` for the `yaml-files` setting
92
43
- pip install --user yamllint>=1.17.0
@@ -95,10 +46,84 @@ jobs:
95
46
- npm install @commitlint/config-conventional -D
96
47
- npm install @commitlint/travis-cli -D
97
48
- commitlint-travis
98
- # Define the release stage that runs `semantic-release`
49
+ # Run the `rubocop` linter in a separate job that is allowed to fail
50
+ # Once these lint errors are fixed, this can be merged into a single job
51
+ - language : node_js
52
+ node_js : lts/*
53
+ env : Lint_rubocop
54
+ name : ' Lint: rubocop'
55
+ before_install : skip
56
+ script :
57
+ # Install and run `rubocop`
58
+ - gem install rubocop
59
+ - rubocop -d
60
+
61
+ # # Define the rest of the matrix based on Kitchen testing
62
+ # Make sure the instances listed below match up with
63
+ # the `platforms` defined in `kitchen.yml`
64
+ - env : INSTANCE=default-debian-10-develop-py3
65
+ # - env: INSTANCE=tables-debian-10-develop-py3
66
+ # - env: INSTANCE=default-ubuntu-1804-develop-py3
67
+ # - env: INSTANCE=tables-ubuntu-1804-develop-py3
68
+ # - env: INSTANCE=default-centos-7-develop-py3
69
+ # - env: INSTANCE=tables-centos-7-develop-py3
70
+ # - env: INSTANCE=default-fedora-30-develop-py3
71
+ # - env: INSTANCE=tables-fedora-30-develop-py3
72
+ # - env: INSTANCE=default-opensuse-leap-15-develop-py3
73
+ # - env: INSTANCE=tables-opensuse-leap-15-develop-py3
74
+ # - env: INSTANCE=default-amazonlinux-2-develop-py2
75
+ # - env: INSTANCE=tables-amazonlinux-2-develop-py2
76
+ # - env: INSTANCE=default-arch-base-latest-develop-py2
77
+ # - env: INSTANCE=tables-arch-base-latest-develop-py2
78
+ # - env: INSTANCE=default-debian-9-2019-2-py3
79
+ # - env: INSTANCE=tables-debian-9-2019-2-py3
80
+ - env : INSTANCE=default-ubuntu-1804-2019-2-py3
81
+ # - env: INSTANCE=tables-ubuntu-1804-2019-2-py3
82
+ # - env: INSTANCE=default-centos-7-2019-2-py3
83
+ # - env: INSTANCE=tables-centos-7-2019-2-py3
84
+ # - env: INSTANCE=default-fedora-30-2019-2-py3
85
+ # - env: INSTANCE=tables-fedora-30-2019-2-py3
86
+ # - env: INSTANCE=default-opensuse-leap-15-2019-2-py3
87
+ # - env: INSTANCE=tables-opensuse-leap-15-2019-2-py3
88
+ - env : INSTANCE=default-amazonlinux-2-2019-2-py2
89
+ # - env: INSTANCE=tables-amazonlinux-2-2019-2-py2
90
+ - env : INSTANCE=default-arch-base-latest-2019-2-py2
91
+ # - env: INSTANCE=tables-arch-base-latest-2019-2-py2
92
+ # - env: INSTANCE=default-debian-9-2018-3-py2
93
+ # - env: INSTANCE=tables-debian-9-2018-3-py2
94
+ # - env: INSTANCE=default-ubuntu-1604-2018-3-py2
95
+ # - env: INSTANCE=tables-ubuntu-1604-2018-3-py2
96
+ - env : INSTANCE=default-centos-7-2018-3-py2
97
+ # - env: INSTANCE=tables-centos-7-2018-3-py2
98
+ - env : INSTANCE=default-fedora-29-2018-3-py2
99
+ # - env: INSTANCE=tables-fedora-29-2018-3-py2
100
+ # - env: INSTANCE=default-opensuse-leap-15-2018-3-py2
101
+ # - env: INSTANCE=tables-opensuse-leap-15-2018-3-py2
102
+ # - env: INSTANCE=default-amazonlinux-2-2018-3-py2
103
+ # - env: INSTANCE=tables-amazonlinux-2-2018-3-py2
104
+ # - env: INSTANCE=default-arch-base-latest-2018-3-py2
105
+ # - env: INSTANCE=tables-arch-base-latest-2018-3-py2
106
+ # - env: INSTANCE=default-debian-8-2017-7-py2
107
+ # - env: INSTANCE=tables-debian-8-2017-7-py2
108
+ # - env: INSTANCE=default-ubuntu-1604-2017-7-py2
109
+ # - env: INSTANCE=tables-ubuntu-1604-2017-7-py2
110
+ # - env: INSTANCE=default-centos-6-2017-7-py2
111
+ # - env: INSTANCE=tables-centos-6-2017-7-py2
112
+ # - env: INSTANCE=default-fedora-29-2017-7-py2
113
+ # - env: INSTANCE=tables-fedora-29-2017-7-py2
114
+ # - env: INSTANCE=default-opensuse-leap-15-2017-7-py2
115
+ - env : INSTANCE=tables-opensuse-leap-15-2017-7-py2
116
+ # - env: INSTANCE=default-amazonlinux-2-2017-7-py2
117
+ # - env: INSTANCE=tables-amazonlinux-2-2017-7-py2
118
+ # - env: INSTANCE=default-arch-base-latest-2017-7-py2
119
+ # - env: INSTANCE=tables-arch-base-latest-2017-7-py2
120
+
121
+ # # Define the release stage that runs `semantic-release`
99
122
- stage : release
100
123
language : node_js
101
124
node_js : lts/*
125
+ env : Release
126
+ name : ' Run semantic-release inc. file updates to AUTHORS, CHANGELOG & FORMULA'
102
127
before_install : skip
103
128
script :
104
129
# Update `AUTHORS.md`
0 commit comments