| # 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. |
| |
| # To use this, install the python package `pre-commit` and |
| # run once `pre-commit install`. This will setup a git pre-commit-hook |
| # that is executed on each commit and will report the linting problems. |
| # To run all hooks on all files use `pre-commit run -a` |
| |
| repos: |
| - repo: local |
| hooks: |
| - id: rat |
| name: Release Audit Tool |
| language: system |
| entry: bash -c "git archive HEAD --prefix=apache-arrow/ --output=arrow-src.tar && ./dev/release/run-rat.sh arrow-src.tar" |
| always_run: true |
| pass_filenames: false |
| - id: rustfmt |
| name: Rust Format |
| language: system |
| entry: bash -c "cd rust && cargo +stable fmt --all -- --check" |
| files: ^rust/.*\.rs$ |
| types: |
| - file |
| - rust |
| - id: cmake-format |
| name: CMake Format |
| language: python |
| entry: python run-cmake-format.py |
| types: [cmake] |
| additional_dependencies: |
| - cmake_format==0.5.2 |
| - id: hadolint |
| name: Docker Format |
| language: docker_image |
| types: |
| - dockerfile |
| entry: --entrypoint /bin/hadolint hadolint/hadolint:latest - |
| exclude: ^dev/.*$ |
| - repo: git://github.com/pre-commit/pre-commit-hooks |
| sha: v1.2.3 |
| hooks: |
| - id: flake8 |
| name: Python Format |
| files: ^(python|dev|integration)/ |
| types: |
| - file |
| - python |
| - id: flake8 |
| name: Cython Format |
| files: ^python/ |
| types: |
| - file |
| - cython |
| args: [--config=python/.flake8.cython] |