| // 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 |