| default_stages: [pre-commit] |
| repos: |
| - repo: https://github.com/pre-commit/pre-commit-hooks |
| rev: v6.0.0 |
| hooks: |
| - id: no-commit-to-branch |
| args: [--branch, main, --pattern, 1_.*_X] |
| - id: check-added-large-files |
| - id: check-executables-have-shebangs |
| - id: forbid-new-submodules |
| - id: check-yaml |
| exclude: '.clang-format' |
| - id: check-json |
| - id: pretty-format-json |
| args: ['--no-sort-keys', '--autofix'] |
| - id: check-symlinks |
| - id: check-xml |
| - id: end-of-file-fixer |
| types_or: [c, shell, python, proto] |
| - id: trailing-whitespace |
| types_or: [c, shell, python, xml] |
| - id: check-docstring-first |
| - id: check-merge-conflict |
| - id: mixed-line-ending |
| args: [--fix=lf] |
| - repo: https://github.com/codespell-project/codespell |
| rev: v2.4.1 |
| hooks: |
| - id: codespell |
| args: ['--config', './contrib/codespell.cfg', --write-changes] |
| - repo: https://github.com/ambv/black |
| rev: 25.9.0 |
| hooks: |
| - id: black |
| - repo: local |
| hooks: |
| - id: no-binaries |
| name: prevent committing binaries to tree |
| language: script |
| entry: /usr/bin/false |
| types: [binary] |
| exclude: | |
| (?x)^( |
| contrib/qubes/doc/img/\w+\.(png|jpg)| |
| data/fwupd\.ico| |
| data/icons/(128x128|64x64)/org\.freedesktop.fwupd\.png| |
| docs/device-emulation-(gnome-firmware-record|assets)\.png| |
| docs/debug_(attached|tool_selector|breakpoint|task)\.png| |
| docs/test_task\.png| |
| docs/win32-(start-menu|run-anyway|term1|term2|uac|uac2)\.png| |
| data/org\.freedesktop\.fwupd\.png| |
| data/tests/fakedevice\d{3}\.(bin|jcat)| |
| libfwupdplugin/tests/efi/efivars/(Boot\d{4}-8be4df61-93ca-11d2-aa0d-00e098032b8c| |
| BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c| |
| OsIndicationsSupported-8be4df61-93ca-11d2-aa0d-00e098032b8c| |
| fwupd-ddc0ee61-e7f0-4e7d-acc5-c070a398838e-0-0abba7dc-e516-4167-bbf5-4d9d1c739416)| |
| plugins/ch341a/ch341a-vmod\.png| |
| plugins/lenovo-thinklmi/tests/efi/efivars/(fwupd-ddc0ee61-e7f0-4e7d-acc5-c070a398838e-0-0abba7dc-e516-4167-bbf5-4d9d1c739416| |
| OsIndicationsSupported-8be4df61-93ca-11d2-aa0d-00e098032b8c)| |
| plugins/logitech-hidpp/data/dump\.(csv\.gz|tdc)| |
| plugins/pci-bcr/config| |
| plugins/redfish/tests/efi/efivars/(RedfishIndications-16faa37e-4b6a-4891-9028-242de65a3b70| |
| RedfishOSCredentials-16faa37e-4b6a-4891-9028-242de65a3b70)| |
| plugins/uefi-capsule/tests/test\.bmp| |
| src/tests/auth/firmware\.xml\.gz| |
| src/tests/history_v[12]\.db| |
| src/tests/sys/devices/pci0000:00/0000:00:14\.0/usb1/1-1/descriptors |
| )$ |
| - id: check-potfiles |
| name: check for missing translated files from potfiles |
| language: script |
| entry: ./contrib/ci/check-potfiles.py |
| - id: check-headers |
| name: check for superfluous includes |
| language: script |
| entry: ./contrib/ci/check-headers.py |
| - id: check-source |
| name: check source code for common issues |
| language: script |
| entry: ./contrib/ci/check-source.py |
| - id: check-quirks |
| name: check quirk style |
| language: script |
| entry: ./contrib/ci/check-quirks.py |
| - id: shellcheck |
| name: check shellscript style |
| language: system |
| entry: shellcheck --severity=warning -e SC2068 |
| types: [shell] |
| exclude: ^contrib/PKGBUILD$ |
| - id: shfmt |
| name: format shell scripts with shfmt |
| language: system |
| entry: shfmt --write --indent 4 |
| types: [shell] |
| exclude: ^contrib/PKGBUILD$ |
| - id: run-tests |
| name: run tests before pushing |
| language: system |
| entry: "test-fwupd" |
| stages: [pre-push] |
| - id: clang-format |
| name: clang-format |
| language: script |
| entry: ./contrib/reformat-code.py |
| types: [c] |
| - id: check-cli-actions |
| name: check cli actions |
| language: script |
| entry: ./contrib/ci/check-cli-actions.py |
| - id: check-license |
| name: Check license header |
| types_or: [shell, c, python] |
| language: script |
| entry: ./contrib/ci/check-license.py |
| - id: check-meson-install-tags |
| name: Check meson install tags |
| language: script |
| entry: ./contrib/ci/check-meson-install-tags.py |
| - repo: https://github.com/igorshubovych/markdownlint-cli |
| rev: v0.45.0 |
| hooks: |
| - id: markdownlint |
| args: ['--fix', '--ignore', '.github'] |
| - repo: https://github.com/gitleaks/gitleaks |
| rev: v8.28.0 |
| hooks: |
| - id: gitleaks |