* Automated using https://github.com/myii/ssf-formula/pull/61tags/v1.2.1
--- | |||||
name: Bug report | |||||
about: Create a report to help us improve | |||||
title: '[BUG] ' | |||||
labels: 'bug' | |||||
assignees: '' | |||||
--- | |||||
<!-- | |||||
Notes: | |||||
1. Only post _bug reports_ here. | |||||
2. Use the appropriate template for _feature requests_. | |||||
3. Please direct questions to the [`#formulas` channel on Slack](https://saltstackcommunity.slack.com/messages/C7LG8SV54/), which is bridged to `#saltstack-formulas` on Freenode. | |||||
--> | |||||
## Your setup | |||||
### Formula commit hash / release tag | |||||
<!-- Please specify the formula's commit hash and/or release tag that you are using. --> | |||||
### Versions reports (master & minion) | |||||
<!-- Provided by running `salt --versions-report`. Please also mention any differences in master/minion versions. --> | |||||
### Pillar / config used | |||||
<!-- Provide links to the SLS files and/or relevant configs (be sure to remove sensitive info). --> | |||||
--- | |||||
## Bug details | |||||
### Describe the bug | |||||
<!-- A clear and concise description of what the bug is. --> | |||||
### Steps to reproduce the bug | |||||
<!-- Include debug logs if possible and relevant, e.g. using `salt-minion -l debug`. --> | |||||
<!-- Alternatively, linking to Kitchen debug logs is useful, e.g. via. Travis CI. --> | |||||
<!-- Most useful is providing a failing InSpec test, which can be used to verify any proposed fix. --> | |||||
### Expected behaviour | |||||
<!-- A clear and concise description of what you expected to happen. --> | |||||
### Attempts to fix the bug | |||||
<!-- Please mention any attempts you have made to fix the bug and what the results were. --> | |||||
### Additional context | |||||
<!-- Add any other context about the problem here. --> | |||||
--- | |||||
### Meta: How can this template be improved? | |||||
<!-- Feel free to suggest how this template can be improved. --> | |||||
--- | |||||
name: Feature request | |||||
about: Suggest an idea for this project | |||||
title: '[FEATURE] ' | |||||
labels: 'enhancement' | |||||
assignees: '' | |||||
--- | |||||
<!-- | |||||
Notes: | |||||
1. Only post _feature requests_ here. | |||||
2. Use the appropriate template for _bug reports_. | |||||
3. Please direct questions to the [`#formulas` channel on Slack](https://saltstackcommunity.slack.com/messages/C7LG8SV54/), which is bridged to `#saltstack-formulas` on Freenode. | |||||
--> | |||||
### Is your feature request related to a problem? | |||||
<!-- A clear and concise description of what the problem is. --> | |||||
### Describe the solution you'd like | |||||
<!-- A clear and concise description of what you want to happen. --> | |||||
### Describe alternatives you've considered | |||||
<!-- Describe any alternative solutions or features you've considered. --> | |||||
### Additional context | |||||
<!-- Add any other context about the feature request here. --> | |||||
--- | |||||
### Meta: How can this template be improved? | |||||
<!-- Feel free to suggest how this template can be improved. --> | |||||
# -*- 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` |
# -*- coding: utf-8 -*- | |||||
# vim: ft=yaml | |||||
--- | |||||
exclude_paths: [] | |||||
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 |
# -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||
# vim: ft=yaml | # vim: ft=yaml | ||||
--- | --- | ||||
## Machine config | |||||
dist: bionic | dist: bionic | ||||
stages: | |||||
- test | |||||
- lint | |||||
- name: release | |||||
if: branch = master AND type != pull_request | |||||
sudo: required | sudo: required | ||||
cache: bundler | |||||
language: ruby | |||||
services: | services: | ||||
- docker | - docker | ||||
# Make sure the instances listed below match up with | |||||
# the `platforms` defined in `kitchen.yml` | |||||
env: | |||||
matrix: | |||||
- INSTANCE: default-debian-10-develop-py3 | |||||
# - INSTANCE: default-ubuntu-1804-develop-py3 | |||||
# - INSTANCE: default-centos-7-develop-py3 | |||||
# - INSTANCE: default-fedora-30-develop-py3 | |||||
# - INSTANCE: default-opensuse-leap-15-develop-py3 | |||||
# - INSTANCE: default-amazonlinux-2-develop-py2 | |||||
# - INSTANCE: default-arch-base-latest-develop-py2 | |||||
# - INSTANCE: default-debian-9-2019-2-py3 | |||||
- INSTANCE: default-ubuntu-1804-2019-2-py3 | |||||
# - INSTANCE: default-centos-7-2019-2-py3 | |||||
# - INSTANCE: default-fedora-30-2019-2-py3 | |||||
# - INSTANCE: default-opensuse-leap-15-2019-2-py3 | |||||
- INSTANCE: default-amazonlinux-2-2019-2-py2 | |||||
- INSTANCE: default-arch-base-latest-2019-2-py2 | |||||
# - INSTANCE: default-debian-9-2018-3-py2 | |||||
# - INSTANCE: default-ubuntu-1604-2018-3-py2 | |||||
# - INSTANCE: default-centos-7-2018-3-py2 | |||||
- INSTANCE: default-fedora-29-2018-3-py2 | |||||
- INSTANCE: default-opensuse-leap-15-2018-3-py2 | |||||
# - INSTANCE: default-amazonlinux-2-2018-3-py2 | |||||
# - INSTANCE: default-arch-base-latest-2018-3-py2 | |||||
# - INSTANCE: default-debian-8-2017-7-py2 | |||||
# - INSTANCE: default-ubuntu-1604-2017-7-py2 | |||||
- INSTANCE: default-centos-6-2017-7-py2 | |||||
# - INSTANCE: default-fedora-29-2017-7-py2 | |||||
# - INSTANCE: default-opensuse-leap-15-2017-7-py2 | |||||
# - INSTANCE: default-amazonlinux-2-2017-7-py2 | |||||
# - INSTANCE: default-arch-base-latest-2017-7-py2 | |||||
## Language and cache config | |||||
language: ruby | |||||
cache: bundler | |||||
## Script to run for the test stage | |||||
script: | 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: | jobs: | ||||
allow_failures: | |||||
- env: Lint_rubocop | |||||
fast_finish: true | |||||
include: | 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/* | node_js: lts/* | ||||
env: Lint | |||||
name: 'Lint: salt-lint, yamllint & commitlint' | |||||
before_install: skip | before_install: skip | ||||
script: | 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` | # Install and run `yamllint` | ||||
# 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 | ||||
- npm install @commitlint/config-conventional -D | - npm install @commitlint/config-conventional -D | ||||
- npm install @commitlint/travis-cli -D | - npm install @commitlint/travis-cli -D | ||||
- commitlint-travis | - 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=default-debian-10-develop-py3 | |||||
# - env: INSTANCE=default-ubuntu-1804-develop-py3 | |||||
# - env: INSTANCE=default-centos-7-develop-py3 | |||||
# - env: INSTANCE=default-fedora-30-develop-py3 | |||||
# - env: INSTANCE=default-opensuse-leap-15-develop-py3 | |||||
# - env: INSTANCE=default-amazonlinux-2-develop-py2 | |||||
# - env: INSTANCE=default-arch-base-latest-develop-py2 | |||||
# - env: INSTANCE=default-debian-9-2019-2-py3 | |||||
- env: INSTANCE=default-ubuntu-1804-2019-2-py3 | |||||
# - env: INSTANCE=default-centos-7-2019-2-py3 | |||||
# - env: INSTANCE=default-fedora-30-2019-2-py3 | |||||
# - env: INSTANCE=default-opensuse-leap-15-2019-2-py3 | |||||
- env: INSTANCE=default-amazonlinux-2-2019-2-py2 | |||||
- env: INSTANCE=default-arch-base-latest-2019-2-py2 | |||||
# - env: INSTANCE=default-debian-9-2018-3-py2 | |||||
# - env: INSTANCE=default-ubuntu-1604-2018-3-py2 | |||||
# - env: INSTANCE=default-centos-7-2018-3-py2 | |||||
- env: INSTANCE=default-fedora-29-2018-3-py2 | |||||
- env: INSTANCE=default-opensuse-leap-15-2018-3-py2 | |||||
# - env: INSTANCE=default-amazonlinux-2-2018-3-py2 | |||||
# - env: INSTANCE=default-arch-base-latest-2018-3-py2 | |||||
# - env: INSTANCE=default-debian-8-2017-7-py2 | |||||
# - env: INSTANCE=default-ubuntu-1604-2017-7-py2 | |||||
- env: INSTANCE=default-centos-6-2017-7-py2 | |||||
# - env: INSTANCE=default-fedora-29-2017-7-py2 | |||||
# - env: INSTANCE=default-opensuse-leap-15-2017-7-py2 | |||||
# - env: INSTANCE=default-amazonlinux-2-2017-7-py2 | |||||
# - env: INSTANCE=default-arch-base-latest-2017-7-py2 | |||||
## Define the release stage that runs `semantic-release` | |||||
- stage: release | - stage: release | ||||
language: node_js | language: node_js | ||||
node_js: lts/* | node_js: lts/* | ||||
env: Release | |||||
name: 'Run semantic-release inc. file updates to AUTHORS, CHANGELOG & FORMULA' | |||||
before_install: skip | before_install: skip | ||||
script: | script: | ||||
# Update `AUTHORS.md` | # Update `AUTHORS.md` |
source "https://rubygems.org" | |||||
# frozen_string_literal: true | |||||
source 'https://rubygems.org' | |||||
gem 'kitchen-docker', '>= 2.9' | gem 'kitchen-docker', '>= 2.9' | ||||
gem 'kitchen-salt', '>= 0.6.0' | |||||
gem 'kitchen-inspec', '>= 1.1' | gem 'kitchen-inspec', '>= 1.1' | ||||
gem 'kitchen-salt', '>= 0.6.0' |
# this file is here to facilitate running it. | # 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.file?(bundle_binstub) | ||||
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/ | if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/ | ||||
load(bundle_binstub) | load(bundle_binstub) | ||||
else | 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 | ||||
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') |