blob: ab85bb6a4df7c4385e38e2cb91085117ba9b717e [file] [log] [blame]
---
# -----------------------------------------------------------------------
# [NOTE] - Propogate .pre-commit-config.yaml edits to all repositories!
# -----------------------------------------------------------------------
# [TODO]
# - pre-commit yaml config exists individually within repositories.
# - Generally lint config and benavior is consistent for all repos.
# - Exclusions and bulk cleanup necessitate per-repo custom configs.
# - Dynamically generate this config file from common and custom
# -----------------------------------------------------------------------
# -----------------------------------------------------------------------
# Copyright 2024 Open Networking Foundation Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# -----------------------------------------------------------------------
# SPDX-FileCopyrightText: 2024 Open Networking Foundation Contributors
# SPDX-License-Identifier: Apache-2.0
# -----------------------------------------------------------------------
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
# -----------------------------------------------------------------------
# .pre-commit-config-yaml 2024-04-10 v0.3
# -----------------------------------------------------------------------
# ci:
# skip: [sync]
repos:
# Sync from repo
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
# - id: fix-encoding-pragma
# - id: double-quote-string-fixer
- repo: https://github.com/koalaman/shellcheck-precommit
rev: v0.10.0
hooks:
- id: shellcheck
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.35.1
hooks:
- id: yamllint
## -----------------------------------------------------------------------
## [SOURCE] Documentation
## -----------------------------------------------------------------------
- repo: https://github.com/rstcheck/rstcheck
rev: v6.2.1
hooks:
- id: rstcheck
- repo: https://github.com/markdownlint/markdownlint
rev: v0.13.0
hooks:
- id: markdownlint
# - id: markdownlint_docker
## -----------------------------------------------------------------------
## [SOURCE] Docker
## -----------------------------------------------------------------------
- repo: https://github.com/hadolint/hadolint
rev: v2.12.0
hooks:
- id: hadolint
# - id: hadolint-docker
## -----------------------------------------------------------------------
## [SOURCE] REUSE License Checking
## -----------------------------------------------------------------------
# - repo: https://github.com/ansys/pre-commit-hooks
# rev: v0.2.9
# hooks:
# - id: add-license-headers
# args:
# - --custom_copyright=custom copyright phrase
# - --custom_template=template_name
# - --custom_license=license_name
# - --ignore_license_check
# - --start_year=2023
## -----------------------------------------------------------------------
## [SOURCE] Python
## -----------------------------------------------------------------------
# - repo: https://github.com/psf/black
# rev: 22.10.0
# hooks:
# - id: black
# - repo: https://github.com/PyCQA/doc8
# rev: v1.1.1
# hooks:
# - id: doc8
## -----------------------------------------------------------------------
## [SOURCE] Testing
## -----------------------------------------------------------------------
- repo: https://github.com/MarketSquare/robotframework-tidy
rev: 4.11.0
hooks:
- id: robotidy
# -------------------------------------------------------------------
# https://docs.python.org/3/library/re.html#regular-expression-syntax
# -------------------------------------------------------------------
exclude: |
(?x)^(
^jjb/.* |
^makefiles/.* |
^lf/.* |
^.venv/.* |
^jenkins-scripts/.* |
^lf-ansible/.* |
^packer/.* |
^test/.* |
^jjb/pipeline/voltha/voltha-physical-soak-dt-tests.groovy
)$
# [SEE ALSO]
# -----------------------------------------------------------------------
# https://github.com/memfault/interrupt/blob/master/example/pre-commit/.pre-commit-config.yaml
# https://pre-commit.com/hooks.html
# https://github.com/floatingpurr/sync_with_poetry/blob/main/.pre-commit-config.yaml
# https://github.com/the-common/pre-commit-config-template/blob/master/.pre-commit-config.yaml
# https://github.com/memfault/interrupt/blob/master/example/pre-commit/.pre-commit-config.yaml
# -----------------------------------------------------------------------
# https://www.hatica.io/blog/pre-commit-git-hooks/
# -----------------------------------------------------------------------
# [EOF]