commit
52569d8d93
@ -1,44 +0,0 @@ |
||||
driver: |
||||
name: docker |
||||
use_sudo: false |
||||
privileged: true |
||||
synced_folders: |
||||
- ['.kitchen/cache', '/tmp/omnibus', disabled: true] |
||||
|
||||
provisioner: |
||||
name: salt_solo |
||||
salt_install: bootstrap |
||||
salt_version: latest |
||||
salt_bootstrap_url: https://bootstrap.saltstack.com |
||||
salt_bootstrap_options: -X -p git -p curl -p sudo |
||||
is_file_root: true |
||||
|
||||
formula: logrotate |
||||
require_chef: false |
||||
require_chef: false |
||||
salt_pillar_root: pillar.example |
||||
pillars-from-files: |
||||
logrotate.sls: pillar.example |
||||
pillars: |
||||
top.sls: |
||||
base: |
||||
"*": |
||||
- logrotate |
||||
state_top: |
||||
base: |
||||
'*': |
||||
- logrotate |
||||
- logrotate.jobs |
||||
|
||||
platforms: |
||||
- name: centos |
||||
- name: opensuse |
||||
- name: ubuntu |
||||
- name: debian |
||||
|
||||
suites: |
||||
- name: default |
||||
|
||||
verifier: |
||||
name: inspec |
||||
|
@ -1,50 +0,0 @@ |
||||
--- |
||||
driver: |
||||
name: docker |
||||
|
||||
driver_config: |
||||
use_sudo: false |
||||
privileged: true |
||||
provision_command: mkdir -p /run/sshd |
||||
run_command: /lib/systemd/systemd |
||||
|
||||
platforms: |
||||
- name: debian-9 |
||||
- name: ubuntu-18.04 |
||||
- name: fedora-27 |
||||
- name: centos-7 |
||||
|
||||
provisioner: |
||||
name: salt_solo |
||||
log_level: info |
||||
require_chef: false |
||||
salt_install: bootstrap |
||||
salt_version: latest |
||||
salt_bootstrap_url: https://bootstrap.saltstack.com |
||||
salt_bootstrap_options: -X -p git -p curl -p sudo |
||||
|
||||
formula: logrotate |
||||
salt_pillar_root: pillar.example |
||||
pillars-from-files: |
||||
logrotate.sls: pillar.example |
||||
pillars: |
||||
top.sls: |
||||
base: |
||||
"*": |
||||
- logrotate |
||||
state_top: |
||||
base: |
||||
'*': |
||||
- logrotate |
||||
- logrotate.jobs |
||||
|
||||
verifier: |
||||
name: inspec |
||||
reporter: |
||||
- cli |
||||
inspec_tests: |
||||
- path: test/integration/default |
||||
|
||||
suites: |
||||
- name: default |
||||
|
@ -0,0 +1,9 @@ |
||||
name: logrotate |
||||
os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Suse, openSUSE |
||||
os_family: Debian, RedHat, Suse |
||||
version: 1.0.0rc |
||||
release: 1 |
||||
minimum_version: 2016.11 |
||||
summary: logrotate formula |
||||
description: Formula to setup logrotate |
||||
top_level_dir: logrotate |
@ -1,9 +1,6 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
source "https://rubygems.org" |
||||
|
||||
gem 'test-kitchen' |
||||
gem 'kitchen-docker' |
||||
gem 'kitchen-salt' |
||||
gem 'kitchen-inspec' |
||||
gem 'kitchen-docker', '>= 2.9' |
||||
gem 'kitchen-salt', '>= 0.6.0' |
||||
gem 'kitchen-inspec', '>= 1.1' |
||||
|
||||
|
@ -1,41 +0,0 @@ |
||||
logrotate |
||||
========= |
||||
Install and configure logrotate on a machine. |
||||
|
||||
The config files are per OS. |
||||
At the moment only Debian, RedHat, Scientific Linux and Archlinux supported with this formula |
||||
|
||||
.. note:: |
||||
See the full `Salt Formulas installation and usage instructions |
||||
<http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html>`_. |
||||
|
||||
Available states |
||||
================ |
||||
|
||||
.. contents:: |
||||
:local: |
||||
|
||||
``logrotate`` |
||||
------------- |
||||
|
||||
Installs the ``logrotate`` package and service/timer/cron. |
||||
|
||||
``logrotate.config`` |
||||
-------------------- |
||||
|
||||
Manages logrotate config and include dir. |
||||
|
||||
``logrotate.install`` |
||||
--------------------- |
||||
|
||||
Installs the logrotate package and its dependencies. |
||||
|
||||
``logrotate.jobs`` |
||||
------------------ |
||||
|
||||
Create custom job for logrotate. |
||||
|
||||
``logrotate.service`` |
||||
--------------------- |
||||
|
||||
Manages the startup and running state of the logrotate service. |
@ -0,0 +1,29 @@ |
||||
#!/usr/bin/env ruby |
||||
# frozen_string_literal: true |
||||
|
||||
# |
||||
# This file was generated by Bundler. |
||||
# |
||||
# The application 'kitchen' is installed as part of a gem, and |
||||
# this file is here to facilitate running it. |
||||
# |
||||
|
||||
require "pathname" |
||||
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", |
||||
Pathname.new(__FILE__).realpath) |
||||
|
||||
bundle_binstub = File.expand_path("../bundle", __FILE__) |
||||
|
||||
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.") |
||||
end |
||||
end |
||||
|
||||
require "rubygems" |
||||
require "bundler/setup" |
||||
|
||||
load Gem.bin_path("test-kitchen", "kitchen") |
@ -0,0 +1,3 @@ |
||||
module.exports = { |
||||
extends: ['@commitlint/config-conventional'], |
||||
}; |
@ -0,0 +1,159 @@ |
||||
.. _contributing: |
||||
|
||||
How to contribute |
||||
================= |
||||
|
||||
This document will eventually outline all aspects of guidance to make your contributing experience a fruitful and enjoyable one. |
||||
What it already contains is information about *commit message formatting* and how that directly affects the numerous automated processes that are used for this repo. |
||||
It also covers how to contribute to this *formula's documentation*. |
||||
|
||||
.. contents:: **Table of Contents** |
||||
|
||||
Overview |
||||
-------- |
||||
|
||||
Submitting a pull request is more than just code! |
||||
To achieve a quality product, the *tests* and *documentation* need to be updated as well. |
||||
An excellent pull request will include these in the changes, wherever relevant. |
||||
|
||||
Commit message formatting |
||||
------------------------- |
||||
|
||||
Since every type of change requires making Git commits, |
||||
we will start by covering the importance of ensuring that all of your commit |
||||
messages are in the correct format. |
||||
|
||||
Automation of multiple processes |
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
||||
|
||||
This formula uses `semantic-release <https://github.com/semantic-release/semantic-release>`_ for automating numerous processes such as bumping the version number appropriately, creating new tags/releases and updating the changelog. |
||||
The entire process relies on the structure of commit messages to determine the version bump, which is then used for the rest of the automation. |
||||
|
||||
Full details are available in the upstream docs regarding the `Angular Commit Message Conventions <https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines>`_. |
||||
The key factor is that the first line of the commit message must follow this format: |
||||
|
||||
.. code-block:: |
||||
|
||||
type(scope): subject |
||||
|
||||
|
||||
* E.g. ``docs(contributing): add commit message formatting instructions``. |
||||
|
||||
Besides the version bump, the changelog and release notes are formatted accordingly. |
||||
So based on the example above: |
||||
|
||||
.. |
||||
|
||||
.. raw:: html |
||||
|
||||
<h3>Documentation</h3> |
||||
|
||||
* **contributing:** add commit message formatting instructions |
||||
|
||||
|
||||
* The ``type`` translates into a ``Documentation`` sub-heading. |
||||
* The ``(scope):`` will be shown in bold text without the brackets. |
||||
* The ``subject`` follows the ``scope`` as standard text. |
||||
|
||||
Linting commit messages in Travis CI |
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
||||
|
||||
This formula uses `commitlint <https://github.com/conventional-changelog/commitlint>`_ for checking commit messages during CI testing. |
||||
This ensures that they are in accordance with the ``semantic-release`` settings. |
||||
|
||||
For more details about the default settings, refer back to the ``commitlint`` `reference rules <https://conventional-changelog.github.io/commitlint/#/reference-rules>`_. |
||||
|
||||
Relationship between commit type and version bump |
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
||||
|
||||
This formula applies some customisations to the defaults, as outlined in the table below, |
||||
based upon the `type <https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#type>`_ of the commit: |
||||
|
||||
.. list-table:: |
||||
:name: commit-type-vs-version-bump |
||||
:header-rows: 1 |
||||
:stub-columns: 0 |
||||
:widths: 1,2,3,1,1 |
||||
|
||||
* - Type |
||||
- Heading |
||||
- Description |
||||
- Bump (default) |
||||
- Bump (custom) |
||||
* - ``build`` |
||||
- Build System |
||||
- Changes related to the build system |
||||
- – |
||||
- |
||||
* - ``chore`` |
||||
- – |
||||
- Changes to the build process or auxiliary tools and libraries such as |
||||
documentation generation |
||||
- – |
||||
- |
||||
* - ``ci`` |
||||
- Continuous Integration |
||||
- Changes to the continuous integration configuration |
||||
- – |
||||
- |
||||
* - ``docs`` |
||||
- Documentation |
||||
- Documentation only changes |
||||
- – |
||||
- 0.0.1 |
||||
* - ``feat`` |
||||
- Features |
||||
- A new feature |
||||
- 0.1.0 |
||||
- |
||||
* - ``fix`` |
||||
- Bug Fixes |
||||
- A bug fix |
||||
- 0.0.1 |
||||
- |
||||
* - ``perf`` |
||||
- Performance Improvements |
||||
- A code change that improves performance |
||||
- 0.0.1 |
||||
- |
||||
* - ``refactor`` |
||||
- Code Refactoring |
||||
- A code change that neither fixes a bug nor adds a feature |
||||
- – |
||||
- 0.0.1 |
||||
* - ``revert`` |
||||
- Reverts |
||||
- A commit used to revert a previous commit |
||||
- – |
||||
- 0.0.1 |
||||
* - ``style`` |
||||
- Styles |
||||
- Changes that do not affect the meaning of the code (white-space, |
||||
formatting, missing semi-colons, etc.) |
||||
- – |
||||
- 0.0.1 |
||||
* - ``test`` |
||||
- Tests |
||||
- Adding missing or correcting existing tests |
||||
- – |
||||
- 0.0.1 |
||||
|
||||
Use ``BREAKING CHANGE`` to trigger a ``major`` version change |
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
||||
|
||||
Adding ``BREAKING CHANGE`` to the footer of the extended description of the commit message will **always** trigger a ``major`` version change, no matter which type has been used. |
||||
This will be appended to the changelog and release notes as well. |
||||
To preserve good formatting of these notes, the following format is prescribed: |
||||
|
||||
* ``BREAKING CHANGE: <explanation in paragraph format>.`` |
||||
|
||||
An example of that: |
||||
|
||||
.. code-block:: git |
||||
|
||||
... |
||||
|
||||
BREAKING CHANGE: With the removal of all of the `.sls` files under |
||||
`template package`, this formula no longer supports the installation of |
||||
packages. |
||||
|
@ -0,0 +1,120 @@ |
||||
.. _readme: |
||||
|
||||
logrotate-formula |
||||
================= |
||||
|
||||
|img_travis| |img_sr| |
||||
|
||||
.. |img_travis| image:: https://travis-ci.com/saltstack-formulas/logrotate-formula.svg?branch=master |
||||
:alt: Travis CI Build Status |
||||
:scale: 100% |
||||
:target: https://travis-ci.com/saltstack-formulas/logrotate-formula |
||||
.. |img_sr| image:: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg |
||||
:alt: Semantic Release |
||||
:scale: 100% |
||||
:target: https://github.com/semantic-release/semantic-release |
||||
|
||||
Install and configure logrotate on a machine. |
||||
|
||||
The config files are per OS. |
||||
At the moment only Debian, RedHat, Scientific Linux and Archlinux supported with this formula |
||||
|
||||
.. contents:: **Table of Contents** |
||||
|
||||
General notes |
||||
------------- |
||||
|
||||
See the full `SaltStack Formulas installation and usage instructions |
||||
<https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html>`_. |
||||
|
||||
If you are interested in writing or contributing to formulas, please pay attention to the `Writing Formula Section |
||||
<https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html#writing-formulas>`_. |
||||
|
||||
If you want to use this formula, please pay attention to the ``FORMULA`` file and/or ``git tag``, |
||||
which contains the currently released version. This formula is versioned according to `Semantic Versioning <http://semver.org/>`_. |
||||
|
||||
See `Formula Versioning Section <https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html#versioning>`_ for more details. |
||||
|
||||
Contributing to this repo |
||||
------------------------- |
||||
|
||||
**Commit message formatting is significant!!** |
||||
|
||||
Please see :ref:`How to contribute <CONTRIBUTING>` for more details. |
||||
|
||||
Available states |
||||
---------------- |
||||
|
||||
.. contents:: |
||||
:local: |
||||
|
||||
``logrotate`` |
||||
^^^^^^^^^^^^^ |
||||
|
||||
Installs the ``logrotate`` package and service/timer/cron. |
||||
|
||||
``logrotate.config`` |
||||
^^^^^^^^^^^^^^^^^^^^ |
||||
|
||||
Manages logrotate config and include dir. |
||||
|
||||
``logrotate.install`` |
||||
^^^^^^^^^^^^^^^^^^^^^ |
||||
|
||||
Installs the logrotate package and its dependencies. |
||||
|
||||
``logrotate.jobs`` |
||||
^^^^^^^^^^^^^^^^^^ |
||||
|
||||
Create custom job for logrotate. |
||||
|
||||
``logrotate.service`` |
||||
^^^^^^^^^^^^^^^^^^^^^ |
||||
|
||||
Manages the startup and running state of the logrotate service. |
||||
|
||||
Testing |
||||
------- |
||||
|
||||
Linux testing is done with ``kitchen-salt``. |
||||
|
||||
Requirements |
||||
^^^^^^^^^^^^ |
||||
|
||||
* Ruby |
||||
* Docker |
||||
|
||||
.. code-block:: bash |
||||
|
||||
$ gem install bundler |
||||
$ bundle install |
||||
$ bin/kitchen test [platform] |
||||
|
||||
Where ``[platform]`` is the platform name defined in ``kitchen.yml``, |
||||
e.g. ``debian-9-2019-2-py3``. |
||||
|
||||
``bin/kitchen converge`` |
||||
^^^^^^^^^^^^^^^^^^^^^^^^ |
||||
|
||||
Creates the docker instance and runs the ``logrotate`` main state, ready for testing. |
||||
|
||||
``bin/kitchen verify`` |
||||
^^^^^^^^^^^^^^^^^^^^^^ |
||||
|
||||
Runs the ``inspec`` tests on the actual instance. |
||||
|
||||
``bin/kitchen destroy`` |
||||
^^^^^^^^^^^^^^^^^^^^^^^ |
||||
|
||||
Removes the docker instance. |
||||
|
||||
``bin/kitchen test`` |
||||
^^^^^^^^^^^^^^^^^^^^ |
||||
|
||||
Runs all of the stages above in one go: i.e. ``destroy`` + ``converge`` + ``verify`` + ``destroy``. |
||||
|
||||
``bin/kitchen login`` |
||||
^^^^^^^^^^^^^^^^^^^^^ |
||||
|
||||
Gives you SSH access to the instance for manual testing. |
||||
|
@ -0,0 +1,147 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# vim: ft=yaml |
||||
--- |
||||
# For help on this file's format, see https://kitchen.ci/ |
||||
driver: |
||||
name: docker |
||||
use_sudo: false |
||||
privileged: true |
||||
run_command: /lib/systemd/systemd |
||||
|
||||
# Make sure the platforms listed below match up with |
||||
# the `env.matrix` instances defined in `.travis.yml` |
||||
platforms: |
||||
## SALT `develop` |
||||
- name: debian-9-develop-py3 |
||||
driver: |
||||
image: netmanagers/salt-develop-py3:debian-9 |
||||
provision_command: |
||||
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com |
||||
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop |
||||
- name: ubuntu-1804-develop-py3 |
||||
driver: |
||||
image: netmanagers/salt-develop-py3:ubuntu-18.04 |
||||
provision_command: |
||||
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com |
||||
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop |
||||
- name: centos-7-develop-py3 |
||||
driver: |
||||
image: netmanagers/salt-develop-py3:centos-7 |
||||
provision_command: |
||||
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com |
||||
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop |
||||
- name: fedora-29-develop-py3 |
||||
driver: |
||||
image: netmanagers/salt-develop-py3:fedora-29 |
||||
provision_command: |
||||
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com |
||||
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop |
||||
- name: opensuse-leap-15-develop-py3 |
||||
driver: |
||||
image: netmanagers/salt-develop-py3:opensuse-leap-15 |
||||
provision_command: |
||||
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com |
||||
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop |
||||
run_command: /usr/lib/systemd/systemd |
||||
|
||||
## SALT 2019.2 |
||||
- name: debian-9-2019-2-py3 |
||||
driver: |
||||
image: netmanagers/salt-2019.2-py3:debian-9 |
||||
- name: ubuntu-1804-2019-2-py3 |
||||
driver: |
||||
image: netmanagers/salt-2019.2-py3:ubuntu-18.04 |
||||
- name: centos-7-2019-2-py3 |
||||
driver: |
||||
image: netmanagers/salt-2019.2-py3:centos-7 |
||||
- name: fedora-29-2019-2-py3 |
||||
driver: |
||||
image: netmanagers/salt-2019.2-py3:fedora-29 |
||||
- name: opensuse-leap-15-2019-2-py3 |
||||
driver: |
||||
image: netmanagers/salt-2019.2-py3:opensuse-leap-15 |
||||
run_command: /usr/lib/systemd/systemd |
||||
|
||||
## SALT 2018.3 |
||||
- name: debian-9-2018-3-py2 |
||||
driver: |
||||
image: netmanagers/salt-2018.3-py2:debian-9 |
||||
- name: ubuntu-1604-2018-3-py2 |
||||
driver: |
||||
image: netmanagers/salt-2018.3-py2:ubuntu-16.04 |
||||
- name: centos-7-2018-3-py2 |
||||
driver: |
||||
image: netmanagers/salt-2018.3-py2:centos-7 |
||||
- name: fedora-29-2018-3-py2 |
||||
driver: |
||||
image: netmanagers/salt-2018.3-py2:fedora-29 |
||||
# TODO: Use this when fixed instead of `opensuse-leap-42` |
||||
# Ref: https://github.com/netmanagers/salt-image-builder/issues/2 |
||||
# - name: opensuse-leap-15-2018-3-py2 |
||||
# driver: |
||||
# image: netmanagers/salt-2018.3-py2:opensuse-leap-15 |
||||
# run_command: /usr/lib/systemd/systemd |
||||
- name: opensuse-leap-42-2018-3-py2 |
||||
driver: |
||||
image: netmanagers/salt-2018.3-py2:opensuse-leap-42 |
||||
run_command: /usr/lib/systemd/systemd |
||||
|
||||
## SALT 2017.7 |
||||
- name: debian-8-2017-7-py2 |
||||
driver: |
||||
image: netmanagers/salt-2017.7-py2:debian-8 |
||||
- name: ubuntu-1604-2017-7-py2 |
||||
driver: |
||||
image: netmanagers/salt-2017.7-py2:ubuntu-16.04 |
||||
# TODO: Modify the formula to work for non-`systemd` platforms |
||||
- name: centos-6-2017-7-py2 |
||||
driver: |
||||
image: netmanagers/salt-2017.7-py2:centos-6 |
||||
run_command: /sbin/init |
||||
- name: fedora-28-2017-7-py2 |
||||
driver: |
||||
image: netmanagers/salt-2017.7-py2:fedora-28 |
||||
- name: opensuse-leap-42-2017-7-py2 |
||||
driver: |
||||
image: netmanagers/salt-2017.7-py2:opensuse-leap-42 |
||||
run_command: /usr/lib/systemd/systemd |
||||
|
||||
provisioner: |
||||
name: salt_solo |
||||
log_level: info |
||||
salt_install: none |
||||
require_chef: false |
||||
formula: logrotate |
||||
salt_copy_filter: |
||||
- .kitchen |
||||
- .git |
||||
dependencies: |
||||
- name: states |
||||
path: ./test/salt |
||||
state_top: |
||||
base: |
||||
'G@os_family:Suse': |
||||
- states.cron |
||||
'*': |
||||
- logrotate |
||||
- logrotate.jobs |
||||
pillars: |
||||
top.sls: |
||||
base: |
||||
'*': |
||||
- logrotate |
||||
pillars_from_files: |
||||
logrotate.sls: pillar.example |
||||
|
||||
verifier: |
||||
# https://www.inspec.io/ |
||||
name: inspec |
||||
sudo: true |
||||
# cli, documentation, html, progress, json, json-min, json-rspec, junit |
||||
reporter: |
||||
- cli |
||||
inspec_tests: |
||||
- path: test/integration/default |
||||
|
||||
suites: |
||||
- name: default |
@ -0,0 +1,30 @@ |
||||
#!/bin/sh |
||||
|
||||
############################################################################### |
||||
# (A) Update `FORMULA` with `${nextRelease.version}` |
||||
############################################################################### |
||||
sed -i -e "s_^\(version:\).*_\1 ${1}_" FORMULA |
||||
|
||||
|
||||
############################################################################### |
||||
# (B) Use `m2r` to convert automatically produced `.md` docs to `.rst` |
||||
############################################################################### |
||||
|
||||
# Install `m2r` |
||||
sudo -H pip install m2r |
||||
|
||||
# Copy and then convert the `.md` docs |
||||
cp *.md docs/ |
||||
cd docs/ |
||||
m2r --overwrite *.md |
||||
|
||||
# Change excess `H1` headings to `H2` in converted `CHANGELOG.rst` |
||||
sed -i -e '/^=.*$/s/=/-/g' CHANGELOG.rst |
||||
sed -i -e '1,4s/-/=/g' CHANGELOG.rst |
||||
|
||||
# Use for debugging output, when required |
||||
# cat AUTHORS.rst |
||||
# cat CHANGELOG.rst |
||||
|
||||
# Return back to the main directory |
||||
cd .. |
@ -0,0 +1,18 @@ |
||||
// No release is triggered for the types commented out below.
|
||||
// Commits using these types will be incorporated into the next release.
|
||||
//
|
||||
// NOTE: Any changes here must be reflected in `CONTRIBUTING.md`.
|
||||
module.exports = [ |
||||
{breaking: true, release: 'major'}, |
||||
// {type: 'build', release: 'patch'},
|
||||
// {type: 'chore', release: 'patch'},
|
||||
// {type: 'ci', release: 'patch'},
|
||||
{type: 'docs', release: 'patch'}, |
||||
{type: 'feat', release: 'minor'}, |
||||
{type: 'fix', release: 'patch'}, |
||||
{type: 'perf', release: 'patch'}, |
||||
{type: 'refactor', release: 'patch'}, |
||||
{type: 'revert', release: 'patch'}, |
||||
{type: 'style', release: 'patch'}, |
||||
{type: 'test', release: 'patch'}, |
||||
]; |
@ -0,0 +1,106 @@ |
||||
module.exports = { |
||||
branch: 'master', |
||||
plugins: [ |
||||
['@semantic-release/commit-analyzer', { |
||||
preset: 'angular', |
||||
releaseRules: './release-rules.js', |
||||
}], |
||||
'@semantic-release/release-notes-generator', |
||||
['@semantic-release/changelog', { |
||||
changelogFile: 'CHANGELOG.md', |
||||
changelogTitle: '# Changelog', |
||||
}], |
||||
['@semantic-release/exec', { |
||||
prepareCmd: 'sh ./pre-commit_semantic-release.sh ${nextRelease.version}', |
||||
}], |
||||
['@semantic-release/git', { |
||||
assets: ['*.md', 'docs/*.rst', 'FORMULA'], |
||||
}], |
||||
'@semantic-release/github', |
||||
], |
||||
generateNotes: { |
||||
preset: 'angular', |
||||
writerOpts: { |
||||
// Required due to upstream bug preventing all types being displayed.
|
||||
// Bug: https://github.com/conventional-changelog/conventional-changelog/issues/317
|
||||
// Fix: https://github.com/conventional-changelog/conventional-changelog/pull/410
|
||||
transform: (commit, context) => { |
||||
const issues = [] |
||||
|
||||
commit.notes.forEach(note => { |
||||
note.title = `BREAKING CHANGES` |
||||
}) |
||||
|
||||
// NOTE: Any changes here must be reflected in `CONTRIBUTING.md`.
|
||||
if (commit.type === `feat`) { |
||||
commit.type = `Features` |
||||
} else if (commit.type === `fix`) { |
||||
commit.type = `Bug Fixes` |
||||
} else if (commit.type === `perf`) { |
||||
commit.type = `Performance Improvements` |
||||
} else if (commit.type === `revert`) { |
||||
commit.type = `Reverts` |
||||
} else if (commit.type === `docs`) { |
||||
commit.type = `Documentation` |
||||
} else if (commit.type === `style`) { |
||||
commit.type = `Styles` |
||||
} else if (commit.type === `refactor`) { |
||||
commit.type = `Code Refactoring` |
||||
} else if (commit.type === `test`) { |
||||
commit.type = `Tests` |
||||
} else if (commit.type === `build`) { |
||||
commit.type = `Build System` |
||||
// } else if (commit.type === `chore`) {
|
||||
// commit.type = `Maintenance`
|
||||
} else if (commit.type === `ci`) { |
||||
commit.type = `Continuous Integration` |
||||
} else { |
||||
return |
||||
} |
||||
|
||||
if (commit.scope === `*`) { |
||||
commit.scope = `` |
||||
} |
||||
|
||||
if (typeof commit.hash === `string`) { |
||||
commit.hash = commit.hash.substring(0, 7) |
||||
} |
||||
|
||||
if (typeof commit.subject === `string`) { |
||||
let url = context.repository |
||||
? `${context.host}/${context.owner}/${context.repository}` |
||||
: context.repoUrl |
||||
if (url) { |
||||
url = `${url}/issues/` |
||||
// Issue URLs.
|
||||
commit.subject = commit.subject.replace(/#([0-9]+)/g, (_, issue) => { |
||||
issues.push(issue) |
||||
return `[#${issue}](${url}${issue})` |
||||
}) |
||||
} |
||||
if (context.host) { |
||||
// User URLs.
|
||||
commit.subject = commit.subject.replace(/\B@([a-z0-9](?:-?[a-z0-9/]){0,38})/g, (_, username) => { |
||||
if (username.includes('/')) { |
||||
return `@${username}` |
||||
} |
||||
|
||||
return `[@${username}](${context.host}/${username})` |
||||
}) |
||||
} |
||||
} |
||||
|
||||
// remove references that already appear in the subject
|
||||
commit.references = commit.references.filter(reference => { |
||||
if (issues.indexOf(reference.issue) === -1) { |
||||
return true |
||||
} |
||||
|
||||
return false |
||||
}) |
||||
|
||||
return commit |
||||
}, |
||||
}, |
||||
}, |
||||
}; |
@ -0,0 +1,50 @@ |
||||
# Default InSpec Profile |
||||
|
||||
This shows the implementation of the Default InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md). |
||||
|
||||
## Verify a profile |
||||
|
||||
InSpec ships with built-in features to verify a profile structure. |
||||
|
||||
```bash |
||||
$ inspec check default |
||||
Summary |
||||
------- |
||||
Location: default |
||||
Profile: profile |
||||
Controls: 4 |
||||
Timestamp: 2019-06-24T23:09:01+00:00 |
||||
Valid: true |
||||
|
||||
Errors |
||||
------ |
||||
|
||||
Warnings |
||||
-------- |
||||
``` |
||||
|
||||
## Execute a profile |
||||
|
||||
To run all **supported** controls on a local machine use `inspec exec /path/to/profile`. |
||||
|
||||
```bash |
||||
$ inspec exec default |
||||
.. |
||||
|
||||
Finished in 0.0025 seconds (files took 0.12449 seconds to load) |
||||
8 examples, 0 failures |
||||
``` |
||||
|
||||
## Execute a specific control from a profile |
||||
|
||||
To run one control from the profile use `inspec exec /path/to/profile --controls name`. |
||||
|
||||
```bash |
||||
$ inspec exec default --controls package |
||||
. |
||||
|
||||
Finished in 0.0025 seconds (files took 0.12449 seconds to load) |
||||
1 examples, 0 failures |
||||
``` |
||||
|
||||
See an [example control here](https://github.com/inspec/inspec/blob/master/examples/profile/controls/example.rb). |
@ -1,10 +1,12 @@ |
||||
name: logrotate |
||||
title: Logrotate Profile |
||||
maintainer: Eric Veiras Galisson |
||||
copyright: Eric Veiras Galisson |
||||
copyright_email: eric AT sietch-tabr DOT com |
||||
license: MIT |
||||
summary: Logrotate Compliance Profile |
||||
version: 0.1.0 |
||||
title: logrotate Formula |
||||
maintainer: Saltstack-formulas |
||||
license: Apache-2.0 |
||||
summary: Verify that the logrotate formula is setup and configured correctly |
||||
supports: |
||||
- os-family: linux |
||||
- platform-name: debian |
||||
- platform-name: ubuntu |
||||
- platform-name: centos |
||||
- platform-name: fedora |
||||
- platform-name: opensuse |
||||
- platform-name: suse |
||||
|
@ -0,0 +1,4 @@ |
||||
|
||||
cron_package: |
||||
pkg.installed: |
||||
- name: cron |
Loading…
Reference in new issue