Skip to content

Commit 0a167d9

Browse files
committed
refactor(travis): merge lint stage into the test stage
* Runs the lint concurrently, for quicker feedback and time savings * Some of the restructuring inspired from: - https://github.com/travis-ci/travis-yml/blob/5ad02354de7d4fc3e9b9f71c44902058402d45ef/spec/fixtures/configs/co/coolo:open-build-service.yml
1 parent 44ce327 commit 0a167d9

File tree

1 file changed

+60
-55
lines changed

1 file changed

+60
-55
lines changed

.travis.yml

Lines changed: 60 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,34 @@
11
# -*- coding: utf-8 -*-
22
# vim: ft=yaml
33
---
4+
# Machine config
45
dist: bionic
5-
stages:
6-
- test
7-
- lint
8-
- name: release
9-
if: branch = master AND type != pull_request
10-
116
sudo: required
12-
cache: bundler
13-
language: ruby
14-
157
services:
168
- docker
179

18-
# Make sure the instances listed below match up with
19-
# the `platforms` defined in `kitchen.yml`
20-
# NOTE: Please try to select up to six instances that add some meaningful
21-
# testing of the formula's behaviour. If possible, try to refrain from
22-
# the classical "chosing all the instances because I want to test on
23-
# another/all distro/s" trap: it will just add time to the testing (see
24-
# the discussion on #121). As an example, the set chosen below covers
25-
# the most used distros families, systemd and non-systemd and the latest
26-
# three supported Saltstack versions with python2 and 3.
27-
# As for `kitchen.yml`, that should still contain all of the platforms,
28-
# to allow for comprehensive local testing
29-
# Ref: https://github.com/saltstack-formulas/template-formula/issues/118
30-
# Ref: https://github.com/saltstack-formulas/template-formula/issues/121
31-
env:
32-
matrix:
33-
- INSTANCE: default-debian-10-develop-py3
34-
# - INSTANCE: default-ubuntu-1804-develop-py3
35-
# - INSTANCE: default-centos-7-develop-py3
36-
# - INSTANCE: default-fedora-30-develop-py3
37-
# - INSTANCE: default-opensuse-leap-15-develop-py3
38-
# - INSTANCE: default-amazonlinux-2-develop-py2
39-
# - INSTANCE: default-arch-base-latest-develop-py2
40-
# - INSTANCE: default-debian-9-2019-2-py3
41-
- INSTANCE: default-ubuntu-1804-2019-2-py3
42-
# - INSTANCE: default-centos-7-2019-2-py3
43-
# - INSTANCE: default-fedora-30-2019-2-py3
44-
# - INSTANCE: default-opensuse-leap-15-2019-2-py3
45-
- INSTANCE: default-amazonlinux-2-2019-2-py2
46-
- INSTANCE: default-arch-base-latest-2019-2-py2
47-
# - INSTANCE: default-debian-9-2018-3-py2
48-
# - INSTANCE: default-ubuntu-1604-2018-3-py2
49-
# - INSTANCE: default-centos-7-2018-3-py2
50-
- INSTANCE: default-fedora-29-2018-3-py2
51-
- INSTANCE: default-opensuse-leap-15-2018-3-py2
52-
# - INSTANCE: default-amazonlinux-2-2018-3-py2
53-
# - INSTANCE: default-arch-base-latest-2018-3-py2
54-
# - INSTANCE: default-debian-8-2017-7-py2
55-
# - INSTANCE: default-ubuntu-1604-2017-7-py2
56-
- INSTANCE: centos6-centos-6-2017-7-py2
57-
# - INSTANCE: default-fedora-29-2017-7-py2
58-
# - INSTANCE: default-opensuse-leap-15-2017-7-py2
59-
# - INSTANCE: default-amazonlinux-2-2017-7-py2
60-
# - INSTANCE: default-arch-base-latest-2017-7-py2
10+
# Language and cache config
11+
language: ruby
12+
cache: bundler
6113

14+
# Script to run for the test stage
6215
script:
6316
- bin/kitchen verify ${INSTANCE}
6417

18+
# Stages and jobs matrix
19+
stages:
20+
- test
21+
- name: release
22+
if: branch = master AND type != pull_request
6523
jobs:
6624
include:
67-
# Define the `lint` stage (runs `yamllint` and `commitlint`)
68-
- stage: lint
69-
language: node_js
25+
# Define the test stage matrix
26+
# Run all of the linters in a single instance (concurrently with the main tests)
27+
# Define the rest of the matrix based on Kitchen testing
28+
29+
- language: node_js
7030
node_js: lts/*
31+
env: 'Lint: yamllint & commitlint'
7132
before_install: skip
7233
script:
7334
# Install and run `yamllint`
@@ -78,6 +39,50 @@ jobs:
7839
- npm install @commitlint/config-conventional -D
7940
- npm install @commitlint/travis-cli -D
8041
- commitlint-travis
42+
43+
# Make sure the instances listed below match up with
44+
# the `platforms` defined in `kitchen.yml`
45+
# NOTE: Please try to select up to six instances that add some meaningful
46+
# testing of the formula's behaviour. If possible, try to refrain from
47+
# the classical "chosing all the instances because I want to test on
48+
# another/all distro/s" trap: it will just add time to the testing (see
49+
# the discussion on #121). As an example, the set chosen below covers
50+
# the most used distros families, systemd and non-systemd and the latest
51+
# three supported Saltstack versions with python2 and 3.
52+
# As for `kitchen.yml`, that should still contain all of the platforms,
53+
# to allow for comprehensive local testing
54+
# Ref: https://github.com/saltstack-formulas/template-formula/issues/118
55+
# Ref: https://github.com/saltstack-formulas/template-formula/issues/121
56+
- env: INSTANCE=default-debian-10-develop-py3
57+
# - env: INSTANCE=default-ubuntu-1804-develop-py3
58+
# - env: INSTANCE=default-centos-7-develop-py3
59+
# - env: INSTANCE=default-fedora-30-develop-py3
60+
# - env: INSTANCE=default-opensuse-leap-15-develop-py3
61+
# - env: INSTANCE=default-amazonlinux-2-develop-py2
62+
# - env: INSTANCE=default-arch-base-latest-develop-py2
63+
# - env: INSTANCE=default-debian-9-2019-2-py3
64+
- env: INSTANCE=default-ubuntu-1804-2019-2-py3
65+
# - env: INSTANCE=default-centos-7-2019-2-py3
66+
# - env: INSTANCE=default-fedora-30-2019-2-py3
67+
# - env: INSTANCE=default-opensuse-leap-15-2019-2-py3
68+
- env: INSTANCE=default-amazonlinux-2-2019-2-py2
69+
- env: INSTANCE=default-arch-base-latest-2019-2-py2
70+
# - env: INSTANCE=default-debian-9-2018-3-py2
71+
# - env: INSTANCE=default-ubuntu-1604-2018-3-py2
72+
# - env: INSTANCE=default-centos-7-2018-3-py2
73+
- env: INSTANCE=default-fedora-29-2018-3-py2
74+
- env: INSTANCE=default-opensuse-leap-15-2018-3-py2
75+
# - env: INSTANCE=default-amazonlinux-2-2018-3-py2
76+
# - env: INSTANCE=default-arch-base-latest-2018-3-py2
77+
# - env: INSTANCE=default-debian-8-2017-7-py2
78+
# - env: INSTANCE=default-ubuntu-1604-2017-7-py2
79+
- env: INSTANCE=centos6-centos-6-2017-7-py2
80+
# - env: INSTANCE=default-fedora-29-2017-7-py2
81+
# - env: INSTANCE=default-opensuse-leap-15-2017-7-py2
82+
# - env: INSTANCE=default-amazonlinux-2-2017-7-py2
83+
# - env: INSTANCE=default-arch-base-latest-2017-7-py2
84+
85+
8186
# Define the release stage that runs `semantic-release`
8287
- stage: release
8388
language: node_js

0 commit comments

Comments
 (0)