From b6fbac6c59cf03badc9abb0db6de78e458c0a501 Mon Sep 17 00:00:00 2001 From: Jens Scheffler Date: Sun, 26 Oct 2025 17:30:07 +0100 Subject: [PATCH 1/2] Extract prek hooks for airflowctl --- .pre-commit-config.yaml | 23 ------------- airflow-ctl/.pre-commit-config.yaml | 51 +++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 23 deletions(-) create mode 100644 airflow-ctl/.pre-commit-config.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2bf8d1639cebd..58de99f71c3c0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1069,22 +1069,6 @@ repos: pass_filenames: false files: ^.*\.py$ require_serial: true - - id: mypy-airflow-ctl - stages: ['pre-push'] - name: Run mypy for airflow-ctl - language: python - entry: ./scripts/ci/prek/mypy.py - files: ^airflow-ctl/src/airflowctl/.*\.py$|^airflow-ctl/tests/.*\.py$ - exclude: .*generated.py - require_serial: true - - id: mypy-airflow-ctl - stages: ['manual'] - name: Run mypy for airflow-ctl (manual) - language: python - entry: ./scripts/ci/prek/mypy_folder.py airflow-ctl - pass_filenames: false - files: ^.*\.py$ - require_serial: true - id: generate-openapi-spec name: Generate the FastAPI API spec language: python @@ -1141,13 +1125,6 @@ repos: require_serial: true pass_filenames: false files: ^airflow-core/src/airflow/config_templates/config\.yml$ - - id: generate-airflowctl-help-images - name: Generate SVG from Airflow CTL Commands - entry: ./scripts/ci/prek/capture_airflowctl_help.py - language: python - pass_filenames: false - files: - ^airflow-ctl/src/airflowctl/ctl/cli_config.py$|airflow-ctl/src/airflowctl/api/operations.py|airflow-ctl/src/airflowctl/ctl/commands/.*\.py - id: check-airflow-version-checks-in-core language: pygrep name: No AIRFLOW_V_* imports in airflow-core diff --git a/airflow-ctl/.pre-commit-config.yaml b/airflow-ctl/.pre-commit-config.yaml new file mode 100644 index 0000000000000..bc940bdab996b --- /dev/null +++ b/airflow-ctl/.pre-commit-config.yaml @@ -0,0 +1,51 @@ +# 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. +--- +default_stages: [pre-commit, pre-push] +minimum_prek_version: '0.0.28' +repos: + - repo: local + hooks: + - id: mypy-airflow-ctl + stages: ['pre-push'] + name: Run mypy for airflow-ctl + language: python + entry: ../scripts/ci/prek/mypy.py + files: + (?x) + ^src/airflowctl/.*\.py$| + ^tests/.*\.py$ + exclude: .*generated.py + require_serial: true + - id: mypy-airflow-ctl + stages: ['manual'] + name: Run mypy for airflow-ctl (manual) + language: python + entry: ../scripts/ci/prek/mypy_folder.py airflow-ctl + pass_filenames: false + files: ^.*\.py$ + require_serial: true + - id: generate-airflowctl-help-images + name: Generate SVG from Airflow CTL Commands + entry: ..scripts/ci/prek/capture_airflowctl_help.py + language: python + pass_filenames: false + files: + (?x) + ^src/airflowctl/ctl/cli_config.py$| + ^src/airflowctl/api/operations.py$| + ^src/airflowctl/ctl/commands/.*\.py$ From 3832ea3cd2c8c6f24c1031f8e4d89d34a8c5dfa7 Mon Sep 17 00:00:00 2001 From: Jens Scheffler Date: Sun, 26 Oct 2025 18:05:50 +0100 Subject: [PATCH 2/2] ups --- airflow-ctl/.pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow-ctl/.pre-commit-config.yaml b/airflow-ctl/.pre-commit-config.yaml index bc940bdab996b..ed468195ad10b 100644 --- a/airflow-ctl/.pre-commit-config.yaml +++ b/airflow-ctl/.pre-commit-config.yaml @@ -41,7 +41,7 @@ repos: require_serial: true - id: generate-airflowctl-help-images name: Generate SVG from Airflow CTL Commands - entry: ..scripts/ci/prek/capture_airflowctl_help.py + entry: ../scripts/ci/prek/capture_airflowctl_help.py language: python pass_filenames: false files: