ci: merge travis matrix, add `salt-lint` & `rubocop` to `lint` jobtags/v1.2.2
@@ -0,0 +1,10 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=yaml | |||
--- | |||
# General overrides used across formulas in the org | |||
Metrics/LineLength: | |||
# Increase from default of `80` | |||
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`) | |||
Max: 88 | |||
# Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config` |
@@ -0,0 +1,15 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=yaml | |||
--- | |||
exclude_paths: | |||
# Save time spent checking files by avoiding the deprecated `ng/` directory | |||
- php/ng/ | |||
skip_list: | |||
# Using `salt-lint` for linting other files as well, such as Jinja macros/templates | |||
- 205 # Use ".sls" as a Salt State file extension | |||
# Skipping `207` and `208` because `210` is sufficient, at least for the time-being | |||
# I.e. Allows 3-digit unquoted codes to still be used, such as `644` and `755` | |||
- 207 # File modes should always be encapsulated in quotation marks | |||
- 208 # File modes should always contain a leading zero | |||
tags: [] | |||
verbosity: 1 |
@@ -1,60 +1,43 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=yaml | |||
--- | |||
## Machine config | |||
dist: bionic | |||
stages: | |||
- test | |||
- lint | |||
- name: release | |||
if: branch = master AND type != pull_request | |||
sudo: required | |||
cache: bundler | |||
language: ruby | |||
services: | |||
- docker | |||
# Make sure the instances listed below match up with | |||
# the `platforms` defined in `kitchen.yml` | |||
env: | |||
matrix: | |||
- INSTANCE: debian-debian-10-develop-py3 | |||
# - INSTANCE: ubuntu-ubuntu-1804-develop-py3 | |||
# - INSTANCE: redhat-centos-7-develop-py3 | |||
# - INSTANCE: redhat-fedora-30-develop-py3 | |||
# - INSTANCE: suse-opensuse-leap-15-develop-py3 | |||
# - INSTANCE: redhat-amazonlinux-2-develop-py2 | |||
# - INSTANCE: debian-debian-9-2019-2-py3 | |||
- INSTANCE: ubuntu-ubuntu-1804-2019-2-py3 | |||
# - INSTANCE: redhat-centos-7-2019-2-py3 | |||
# - INSTANCE: redhat-fedora-30-2019-2-py3 | |||
# - INSTANCE: suse-opensuse-leap-15-2019-2-py3 | |||
- INSTANCE: redhat-amazonlinux-2-2019-2-py2 | |||
# - INSTANCE: debian-debian-9-2018-3-py2 | |||
# - INSTANCE: ubuntu-ubuntu-1604-2018-3-py2 | |||
# - INSTANCE: redhat-centos-7-2018-3-py2 | |||
- INSTANCE: redhat-fedora-29-2018-3-py2 | |||
- INSTANCE: suse-opensuse-leap-15-2018-3-py2 | |||
# - INSTANCE: redhat-amazonlinux-2-2018-3-py2 | |||
# - INSTANCE: debian-debian-8-2017-7-py2 | |||
# - INSTANCE: ubuntu-ubuntu-1604-2017-7-py2 | |||
- INSTANCE: redhat-centos-6-2017-7-py2 | |||
# - INSTANCE: redhat-fedora-29-2017-7-py2 | |||
# - INSTANCE: suse-opensuse-leap-15-2017-7-py2 | |||
# - INSTANCE: redhat-amazonlinux-2-2017-7-py2 | |||
## Language and cache config | |||
language: ruby | |||
cache: bundler | |||
## Script to run for the test stage | |||
script: | |||
- bin/kitchen verify ${INSTANCE} | |||
- bin/kitchen verify "${INSTANCE}" | |||
## Stages and jobs matrix | |||
stages: | |||
- test | |||
- name: release | |||
if: branch = master AND type != pull_request | |||
jobs: | |||
allow_failures: | |||
- env: Lint_rubocop | |||
fast_finish: true | |||
include: | |||
# Define the `lint` stage (runs `yamllint` and `commitlint`) | |||
- stage: lint | |||
language: node_js | |||
## Define the test stage that runs the linters (and testing matrix, if applicable) | |||
# Run all of the linters in a single job (except `rubocop`) | |||
- language: node_js | |||
node_js: lts/* | |||
env: Lint | |||
name: 'Lint: salt-lint, yamllint & commitlint' | |||
before_install: skip | |||
script: | |||
# Install and run `salt-lint` | |||
- pip install --user salt-lint | |||
- git ls-files | grep '\.sls$\|\.jinja$\|\.j2$\|\.tmpl$' | |||
| xargs -I {} salt-lint {} | |||
# Install and run `yamllint` | |||
# Need at least `v1.17.0` for the `yaml-files` setting | |||
- pip install --user yamllint>=1.17.0 | |||
@@ -63,10 +46,52 @@ jobs: | |||
- npm install @commitlint/config-conventional -D | |||
- npm install @commitlint/travis-cli -D | |||
- commitlint-travis | |||
# Define the release stage that runs `semantic-release` | |||
# 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 | |||
## Define the rest of the matrix based on Kitchen testing | |||
# Make sure the instances listed below match up with | |||
# the `platforms` defined in `kitchen.yml` | |||
- env: INSTANCE=debian-debian-10-develop-py3 | |||
# - env: INSTANCE=ubuntu-ubuntu-1804-develop-py3 | |||
# - env: INSTANCE=redhat-centos-7-develop-py3 | |||
# - env: INSTANCE=redhat-fedora-30-develop-py3 | |||
# - env: INSTANCE=suse-opensuse-leap-15-develop-py3 | |||
# - env: INSTANCE=redhat-amazonlinux-2-develop-py2 | |||
# - env: INSTANCE=debian-debian-9-2019-2-py3 | |||
- env: INSTANCE=ubuntu-ubuntu-1804-2019-2-py3 | |||
# - env: INSTANCE=redhat-centos-7-2019-2-py3 | |||
# - env: INSTANCE=redhat-fedora-30-2019-2-py3 | |||
# - env: INSTANCE=suse-opensuse-leap-15-2019-2-py3 | |||
- env: INSTANCE=redhat-amazonlinux-2-2019-2-py2 | |||
# - env: INSTANCE=debian-debian-9-2018-3-py2 | |||
# - env: INSTANCE=ubuntu-ubuntu-1604-2018-3-py2 | |||
# - env: INSTANCE=redhat-centos-7-2018-3-py2 | |||
- env: INSTANCE=redhat-fedora-29-2018-3-py2 | |||
- env: INSTANCE=suse-opensuse-leap-15-2018-3-py2 | |||
# - env: INSTANCE=redhat-amazonlinux-2-2018-3-py2 | |||
# - env: INSTANCE=debian-debian-8-2017-7-py2 | |||
# - env: INSTANCE=ubuntu-ubuntu-1604-2017-7-py2 | |||
- env: INSTANCE=redhat-centos-6-2017-7-py2 | |||
# - env: INSTANCE=redhat-fedora-29-2017-7-py2 | |||
# - env: INSTANCE=suse-opensuse-leap-15-2017-7-py2 | |||
# - env: INSTANCE=redhat-amazonlinux-2-2017-7-py2 | |||
## Define the release stage that runs `semantic-release` | |||
- stage: release | |||
language: node_js | |||
node_js: lts/* | |||
env: Release | |||
name: 'Run semantic-release inc. file updates to AUTHORS, CHANGELOG & FORMULA' | |||
before_install: skip | |||
script: | |||
# Update `AUTHORS.md` |
@@ -17,6 +17,7 @@ yaml-files: | |||
# Default settings | |||
- '*.yaml' | |||
- '*.yml' | |||
- .salt-lint | |||
- .yamllint | |||
# SaltStack Formulas additional settings | |||
- '*.example' |
@@ -1,6 +1,7 @@ | |||
source "https://rubygems.org" | |||
# frozen_string_literal: true | |||
source 'https://rubygems.org' | |||
gem 'kitchen-docker', '>= 2.9' | |||
gem 'kitchen-salt', '>= 0.6.0' | |||
gem 'kitchen-inspec', '>= 1.1' | |||
gem 'kitchen-salt', '>= 0.6.0' |
@@ -8,22 +8,25 @@ | |||
# this file is here to facilitate running it. | |||
# | |||
require "pathname" | |||
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", | |||
Pathname.new(__FILE__).realpath) | |||
require 'pathname' | |||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', | |||
Pathname.new(__FILE__).realpath) | |||
bundle_binstub = File.expand_path("../bundle", __FILE__) | |||
bundle_binstub = File.expand_path('bundle', __dir__) | |||
if File.file?(bundle_binstub) | |||
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/ | |||
load(bundle_binstub) | |||
else | |||
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. | |||
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") | |||
abort( | |||
'Your `bin/bundle` was not generated by Bundler, '\ | |||
'so this binstub cannot run. Replace `bin/bundle` by running '\ | |||
'`bundle binstubs bundler --force`, then run this command again.' | |||
) | |||
end | |||
end | |||
require "rubygems" | |||
require "bundler/setup" | |||
require 'rubygems' | |||
require 'bundler/setup' | |||
load Gem.bin_path("test-kitchen", "kitchen") | |||
load Gem.bin_path('test-kitchen', 'kitchen') |
@@ -24,7 +24,7 @@ include: | |||
get-composer: | |||
file.managed: | |||
- name: {{ php.lookup.pkgs.temp_dir }}/installer | |||
- mode: 0755 | |||
- mode: '0755' | |||
- unless: test -f {{ install_file }} | |||
- source: https://getcomposer.org/installer | |||
- source_hash: https://composer.github.io/installer.sig |
@@ -9,7 +9,7 @@ include: | |||
hhvm_repo: | |||
pkgrepo.managed: | |||
- name: deb http://dl.hhvm.com/{{ salt['grains.get']('os')|lower }} {{ salt['grains.get']('oscodename')}} main | |||
- name: deb http://dl.hhvm.com/{{ salt['grains.get']('os')|lower }} {{ salt['grains.get']('oscodename') }} main | |||
- file: /etc/apt/sources.list.d/hhvm.list | |||
- keyid: 0x5a16e7281be7a449 | |||
- keyserver: keyserver.ubuntu.com |
@@ -22,7 +22,17 @@ | |||
'apc': 'php-apcu', | |||
'apcu': 'php-apcu-bc', | |||
'bcmath': 'php' + php_version + '-bcmath', | |||
'build_pkgs': ['libssl-dev', 'libcurl4-openssl-dev', 'pkg-config', 'libsslcommon2-dev', 'gcc', 'make', 'autoconf', 'libc-dev', 'pkg-config'], | |||
'build_pkgs': [ | |||
'libssl-dev', | |||
'libcurl4-openssl-dev', | |||
'pkg-config', | |||
'libsslcommon2-dev', | |||
'gcc', | |||
'make', | |||
'autoconf', | |||
'libc-dev', | |||
'pkg-config', | |||
], | |||
'bz2': 'php' + php_version + '-bz2', | |||
'cache-lite': 'php-cache-lite', | |||
'cgi': 'php' + php_version + '-cgi', | |||
@@ -188,9 +198,28 @@ | |||
'auto_globals_jit': 'On', | |||
'default_mimetype': '"text/html"', | |||
'default_socket_timeout': 60, | |||
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled', | |||
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror', | |||
'pcntl_sigprocmask','pcntl_sigwaitinfo','pcntl_sigtimedwait','pcntl_exec','pcntl_getpriority','pcntl_setpriority'], | |||
'disable_functions': [ | |||
'pcntl_alarm', | |||
'pcntl_fork', | |||
'pcntl_waitpid', | |||
'pcntl_wait', | |||
'pcntl_wifexited', | |||
'pcntl_wifstopped', | |||
'pcntl_wifsignaled', | |||
'pcntl_wexitstatus', | |||
'pcntl_wtermsig', | |||
'pcntl_wstopsig', | |||
'pcntl_signal', | |||
'pcntl_signal_dispatch', | |||
'pcntl_get_last_error', | |||
'pcntl_strerror', | |||
'pcntl_sigprocmask', | |||
'pcntl_sigwaitinfo', | |||
'pcntl_sigtimedwait', | |||
'pcntl_exec', | |||
'pcntl_getpriority', | |||
'pcntl_setpriority', | |||
], | |||
'display_errors': 'Off', | |||
'display_startup_errors': 'Off', | |||
'enable_dl': 'Off', | |||
@@ -517,9 +546,28 @@ | |||
'auto_globals_jit': 'On', | |||
'default_mimetype': '"text/html"', | |||
'default_socket_timeout': 60, | |||
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled', | |||
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror', | |||
'pcntl_sigprocmask','pcntl_sigwaitinfo','pcntl_sigtimedwait','pcntl_exec','pcntl_getpriority','pcntl_setpriority'], | |||
'disable_functions': [ | |||
'pcntl_alarm', | |||
'pcntl_fork', | |||
'pcntl_waitpid', | |||
'pcntl_wait', | |||
'pcntl_wifexited', | |||
'pcntl_wifstopped', | |||
'pcntl_wifsignaled', | |||
'pcntl_wexitstatus', | |||
'pcntl_wtermsig', | |||
'pcntl_wstopsig', | |||
'pcntl_signal', | |||
'pcntl_signal_dispatch', | |||
'pcntl_get_last_error', | |||
'pcntl_strerror', | |||
'pcntl_sigprocmask', | |||
'pcntl_sigwaitinfo', | |||
'pcntl_sigtimedwait', | |||
'pcntl_exec', | |||
'pcntl_getpriority', | |||
'pcntl_setpriority', | |||
], | |||
'display_errors': 'Off', | |||
'display_startup_errors': 'Off', | |||
'enable_dl': 'Off', | |||
@@ -893,9 +941,28 @@ | |||
'auto_globals_jit': 'On', | |||
'default_mimetype': '"text/html"', | |||
'default_socket_timeout': 60, | |||
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled', | |||
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror', | |||
'pcntl_sigprocmask','pcntl_sigwaitinfo','pcntl_sigtimedwait','pcntl_exec','pcntl_getpriority','pcntl_setpriority'], | |||
'disable_functions': [ | |||
'pcntl_alarm', | |||
'pcntl_fork', | |||
'pcntl_waitpid', | |||
'pcntl_wait', | |||
'pcntl_wifexited', | |||
'pcntl_wifstopped', | |||
'pcntl_wifsignaled', | |||
'pcntl_wexitstatus', | |||
'pcntl_wtermsig', | |||
'pcntl_wstopsig', | |||
'pcntl_signal', | |||
'pcntl_signal_dispatch', | |||
'pcntl_get_last_error', | |||
'pcntl_strerror', | |||
'pcntl_sigprocmask', | |||
'pcntl_sigwaitinfo', | |||
'pcntl_sigtimedwait', | |||
'pcntl_exec', | |||
'pcntl_getpriority', | |||
'pcntl_setpriority', | |||
], | |||
'display_errors': 'Off', | |||
'display_startup_errors': 'Off', | |||
'enable_dl': 'Off', | |||
@@ -1267,9 +1334,28 @@ | |||
'auto_globals_jit': 'On', | |||
'default_mimetype': '"text/html"', | |||
'default_socket_timeout': 60, | |||
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled', | |||
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror', | |||
'pcntl_sigprocmask','pcntl_sigwaitinfo','pcntl_sigtimedwait','pcntl_exec','pcntl_getpriority','pcntl_setpriority'], | |||
'disable_functions': [ | |||
'pcntl_alarm', | |||
'pcntl_fork', | |||
'pcntl_waitpid', | |||
'pcntl_wait', | |||
'pcntl_wifexited', | |||
'pcntl_wifstopped', | |||
'pcntl_wifsignaled', | |||
'pcntl_wexitstatus', | |||
'pcntl_wtermsig', | |||
'pcntl_wstopsig', | |||
'pcntl_signal', | |||
'pcntl_signal_dispatch', | |||
'pcntl_get_last_error', | |||
'pcntl_strerror', | |||
'pcntl_sigprocmask', | |||
'pcntl_sigwaitinfo', | |||
'pcntl_sigtimedwait', | |||
'pcntl_exec', | |||
'pcntl_getpriority', | |||
'pcntl_setpriority', | |||
], | |||
'display_errors': 'Off', | |||
'display_startup_errors': 'Off', | |||
'enable_dl': 'Off', | |||
@@ -1641,9 +1727,28 @@ | |||
'auto_globals_jit': 'On', | |||
'default_mimetype': '"text/html"', | |||
'default_socket_timeout': 60, | |||
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled', | |||
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror', | |||
'pcntl_sigprocmask','pcntl_sigwaitinfo','pcntl_sigtimedwait','pcntl_exec','pcntl_getpriority','pcntl_setpriority'], | |||
'disable_functions': [ | |||
'pcntl_alarm', | |||
'pcntl_fork', | |||
'pcntl_waitpid', | |||
'pcntl_wait', | |||
'pcntl_wifexited', | |||
'pcntl_wifstopped', | |||
'pcntl_wifsignaled', | |||
'pcntl_wexitstatus', | |||
'pcntl_wtermsig', | |||
'pcntl_wstopsig', | |||
'pcntl_signal', | |||
'pcntl_signal_dispatch', | |||
'pcntl_get_last_error', | |||
'pcntl_strerror', | |||
'pcntl_sigprocmask', | |||
'pcntl_sigwaitinfo', | |||
'pcntl_sigtimedwait', | |||
'pcntl_exec', | |||
'pcntl_getpriority', | |||
'pcntl_setpriority', | |||
], | |||
'display_errors': 'Off', | |||
'display_startup_errors': 'Off', | |||
'enable_dl': 'Off', | |||
@@ -2032,9 +2137,28 @@ | |||
'auto_globals_jit': 'On', | |||
'default_mimetype': '"text/html"', | |||
'default_socket_timeout': 60, | |||
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled', | |||
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror', | |||
'pcntl_sigprocmask','pcntl_sigwaitinfo','pcntl_sigtimedwait','pcntl_exec','pcntl_getpriority','pcntl_setpriority'], | |||
'disable_functions': [ | |||
'pcntl_alarm', | |||
'pcntl_fork', | |||
'pcntl_waitpid', | |||
'pcntl_wait', | |||
'pcntl_wifexited', | |||
'pcntl_wifstopped', | |||
'pcntl_wifsignaled', | |||
'pcntl_wexitstatus', | |||
'pcntl_wtermsig', | |||
'pcntl_wstopsig', | |||
'pcntl_signal', | |||
'pcntl_signal_dispatch', | |||
'pcntl_get_last_error', | |||
'pcntl_strerror', | |||
'pcntl_sigprocmask', | |||
'pcntl_sigwaitinfo', | |||
'pcntl_sigtimedwait', | |||
'pcntl_exec', | |||
'pcntl_getpriority', | |||
'pcntl_setpriority', | |||
], | |||
'display_errors': 'Off', | |||
'display_startup_errors': 'Off', | |||
'enable_dl': 'Off', | |||
@@ -2203,7 +2327,17 @@ | |||
'apcu': 'php-apcu-bc', | |||
'bcmath': 'php' + php_version + '-bcmath', | |||
'bz2': 'php' + php_version + '-bz2', | |||
'build_pkgs': ['libssl-dev', 'libcurl4-openssl-dev', 'pkg-config', 'libsslcommon2-dev', 'gcc', 'make', 'autoconf', 'libc-dev', 'pkg-config'], | |||
'build_pkgs': [ | |||
'libssl-dev', | |||
'libcurl4-openssl-dev', | |||
'pkg-config', | |||
'libsslcommon2-dev', | |||
'gcc', | |||
'make', | |||
'autoconf', | |||
'libc-dev', | |||
'pkg-config', | |||
], | |||
'cache-lite': 'php-cache-lite', | |||
'cgi': 'php' + php_version + '-cgi', | |||
'cli': 'php' + php_version + '-cli', | |||
@@ -2372,9 +2506,28 @@ | |||
'auto_globals_jit': 'On', | |||
'default_mimetype': '"text/html"', | |||
'default_socket_timeout': 60, | |||
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled', | |||
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror', | |||
'pcntl_sigprocmask','pcntl_sigwaitinfo','pcntl_sigtimedwait','pcntl_exec','pcntl_getpriority','pcntl_setpriority'], | |||
'disable_functions': [ | |||
'pcntl_alarm', | |||
'pcntl_fork', | |||
'pcntl_waitpid', | |||
'pcntl_wait', | |||
'pcntl_wifexited', | |||
'pcntl_wifstopped', | |||
'pcntl_wifsignaled', | |||
'pcntl_wexitstatus', | |||
'pcntl_wtermsig', | |||
'pcntl_wstopsig', | |||
'pcntl_signal', | |||
'pcntl_signal_dispatch', | |||
'pcntl_get_last_error', | |||
'pcntl_strerror', | |||
'pcntl_sigprocmask', | |||
'pcntl_sigwaitinfo', | |||
'pcntl_sigtimedwait', | |||
'pcntl_exec', | |||
'pcntl_getpriority', | |||
'pcntl_setpriority', | |||
], | |||
'display_errors': 'Off', | |||
'display_startup_errors': 'Off', | |||
'enable_dl': 'Off', |