ci(pre-commit): add to formula [skip ci]
authorDafydd Jones <dafydd@techneg.it>
Sat, 3 Oct 2020 09:20:13 +0000 (10:20 +0100)
committerImran Iqbal <iqbalmy@hotmail.com>
Sat, 3 Oct 2020 09:20:13 +0000 (10:20 +0100)
* Automated using https://github.com/myii/ssf-formula/pull/259

.pre-commit-config.yaml [new file with mode: 0644]
.rstcheck.cfg [new file with mode: 0644]
.travis.yml
bin/install-hooks [new file with mode: 0755]

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644 (file)
index 0000000..86cf5fa
--- /dev/null
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+# vim: ft=yaml
+---
+# See https://pre-commit.com for more information
+# See https://pre-commit.com/hooks.html for more hooks
+default_stages: [commit]
+repos:
+  - repo: https://github.com/dafyddj/commitlint-pre-commit-hook
+    rev: v2.3.0
+    hooks:
+      - id: commitlint
+        name: Check commit message using commitlint
+        description: Lint commit message against @commitlint/config-conventional rules
+        stages: [commit-msg]
+        additional_dependencies: ['@commitlint/config-conventional@8.3.4']
+      - id: commitlint-travis
+        stages: [manual]
+        additional_dependencies: ['@commitlint/config-conventional@8.3.4']
+        always_run: true
+  - repo: https://github.com/adithyabsk/mirrors-rubocop
+    rev: v0.91.0
+    hooks:
+      - id: rubocop
+        name: Check Ruby files with rubocop
+        args: [--debug]
+        always_run: true
+        pass_filenames: false
+  - repo: https://github.com/jumanjihouse/pre-commit-hooks
+    rev: 2.1.3
+    hooks:
+      - id: shellcheck
+        name: Check shell scripts with shellcheck
+        files: ^.*\.(sh|bash|ksh)$
+        types: []
+        args: []
+  - repo: https://github.com/adrienverge/yamllint.git
+    rev: v1.23.0
+    hooks:
+      - id: yamllint
+        name: Check YAML syntax with yamllint
+        args: [--strict, '.']
+        always_run: true
+        pass_filenames: false
+  - repo: https://github.com/warpnet/salt-lint
+    rev: v0.3.0
+    hooks:
+      - id: salt-lint
+        name: Check Salt files using salt-lint
+        files: ^.*\.(sls|jinja|j2|tmpl|tst)$
+#   - repo: https://github.com/myint/rstcheck
+#     rev: 3f929574
+#     hooks:
+#       - id: rstcheck
+#         name: Check reST files using rstcheck
+#         args: [--report=warning]
diff --git a/.rstcheck.cfg b/.rstcheck.cfg
new file mode 100644 (file)
index 0000000..05856dc
--- /dev/null
@@ -0,0 +1,3 @@
+[rstcheck]
+report=error
+ignore_language=rst
index e7a4fd88e5f43933191dbd7410c1e1960ff8f855..8edfbcd83997f8dd46cc7bf74a42f75d00b9e512 100644 (file)
@@ -55,6 +55,20 @@ jobs:
                    @commitlint/travis-cli
         - commitlint-travis
 
+    # Run `pre-commit` linters in a single job
+    - language: 'python'
+      env: 'Lint_pre-commit'
+      name: 'Lint: pre-commit'
+      before_install: 'skip'
+      cache:
+        directories:
+          - $HOME/.cache/pre-commit
+      script:
+        # Install and run `pre-commit`
+        - pip install pre-commit==2.7.1
+        - pre-commit run --all-files --color always --verbose
+        - pre-commit run --color always --hook-stage manual --verbose commitlint-travis
+
     ## 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`
diff --git a/bin/install-hooks b/bin/install-hooks
new file mode 100755 (executable)
index 0000000..840bb6c
--- /dev/null
@@ -0,0 +1,16 @@
+#!/usr/bin/env sh
+set -o nounset # Treat unset variables as an error and immediately exit
+set -o errexit # If a command fails exit the whole script
+
+if [ "${DEBUG:-false}" = "true" ]; then
+  set -x # Run the entire script in debug mode
+fi
+
+if ! command -v pre-commit >/dev/null 2>&1; then
+  echo "pre-commit not found: please install or check your PATH" >&2
+  echo "See https://pre-commit.com/#installation" >&2
+  exit 1
+fi
+
+pre-commit install --install-hooks
+pre-commit install --hook-type commit-msg --install-hooks