blob: e3a87f017713ee368b5a77ef7990fe63a7b6d767 [file]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you 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.
---
repos:
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.21.0
hooks:
- id: yamllint
args: [--format, parsable, --strict]
- repo: https://github.com/cmake-lint/cmake-lint
rev: 1.4.2
hooks:
- id: cmakelint
args: [--filter, -linelength]
- repo: https://github.com/cpplint/cpplint
rev: 1.6.1
hooks:
- id: cpplint
- repo: https://github.com/gitleaks/gitleaks
rev: v8.16.1
hooks:
- id: gitleaks
- repo: https://github.com/hadolint/hadolint
rev: v2.12.0
hooks:
- id: hadolint
args: [--config, .github/linters/.hadolint.yaml]
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.39.0
hooks:
- id: markdownlint
args: [--config, .github/linters/.markdown-lint.yml]
- repo: https://github.com/jumanjihouse/pre-commit-hook-yamlfmt
rev: 0.2.3
hooks:
- id: yamlfmt
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.3.0
hooks:
- id: check-added-large-files
- id: check-json
- id: check-merge-conflict
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v18.1.0
hooks:
- id: clang-format
- repo: https://github.com/scop/pre-commit-shfmt
rev: v3.8.0-1
hooks:
- id: shfmt
- repo: local
hooks:
- id: cppcheck
name: cppcheck
entry: cppcheck --enable=style,performance,warning --inline-suppr --std=c++20 -x c++
language: system
files: \.(cc|h)$
pass_filenames: true
always_run: false
- id: flawfinder
name: flawfinder
entry: flawfinder --quiet -S -D --error-level=1
language: system
files: \.(cc|h)$
pass_filenames: true
always_run: false
- id: lizard
name: Check code cyclomatic complexity
entry: lizard -C 15 -i 0 -w -l c,cc,cpp,h,hpp
language: system
pass_filenames: true
always_run: false
- id: build
name: Build
entry: cmake --build build
language: system
pass_filenames: false
always_run: true
- id: run-unit-tests
name: Run Unit Tests
entry: ./build/tests/Debug/iggy_cpp_test
language: system
pass_filenames: false
always_run: true
- id: e2e-tests
name: Run E2E Tests
entry: ./build/tests/Debug/iggy_e2e_test
language: system
pass_filenames: false
always_run: true