From e07e65b67f9cef21cd295feef955e448d253d70d Mon Sep 17 00:00:00 2001 From: Chad Dombrova Date: Sat, 8 Feb 2020 20:53:06 -0800 Subject: [PATCH] [BEAM-9274] Support running yapf in a git pre-commit hook --- .pre-commit-config.yaml | 32 ++++++++++++++++++++++++++++++++ sdks/python/tox.ini | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 .pre-commit-config.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 000000000000..f9c0d9f649f6 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,32 @@ +# 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. + +repos: + - repo: https://github.com/pre-commit/mirrors-yapf + # this rev is a release tag in the repo above and corresponds with a yapf + # version. make sure this matches the version of yapf in tox.ini. + rev: v0.29.0 + hooks: + - id: yapf + files: ^sdks/python/apache_beam/ + # keep these in sync with sdks/python/.yapfignore + exclude: > + (?x)^( + sdks/python/apache_beam/io/gcp/internal/clients/bigquery/bigquery_v2_client.py| + sdks/python/apache_beam/io/gcp/internal/clients/bigquery/bigquery_v2_messages.py| + sdks/python/apache_beam/runners/dataflow/internal/clients/dataflow/dataflow_v1b3_client.py| + sdks/python/apache_beam/runners/dataflow/internal/clients/dataflow/dataflow_v1b3_messages.py| + sdks/python/apache_beam/io/gcp/internal/clients/storage/storage_v1_client.py| + sdks/python/apache_beam/io/gcp/internal/clients/storage/storage_v1_messages.py| + sdks/python/apache_beam/coders/proto2_coder_test_messages_pb2.py| + sdks/python/apache_beam/portability/api/.*pb2.*.py + )$ diff --git a/sdks/python/tox.ini b/sdks/python/tox.ini index a909857a7cb5..c626fa3fb243 100644 --- a/sdks/python/tox.ini +++ b/sdks/python/tox.ini @@ -348,6 +348,7 @@ commands = commands_pre = [testenv:py3-yapf] +# keep the version of yapf in sync with the 'rev' in .pre-commit-config.yaml deps = yapf==0.29.0 commands = @@ -355,6 +356,7 @@ commands = time yapf --in-place --parallel --recursive apache_beam [testenv:py3-yapf-check] +# keep the version of yapf in sync with the 'rev' in .pre-commit-config.yaml deps = yapf==0.29.0 commands =