forked from apache/airflow
-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reduce max length of pre-commit hooks (apache#42384)
This is just to ensure that we get each hook on a single line when running in split pane on macbook pro 14".
- Loading branch information
Showing
3 changed files
with
325 additions
and
314 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -24,7 +24,8 @@ repos: | |
- repo: meta | ||
hooks: | ||
- id: identity | ||
name: Print input to the static check hooks for troubleshooting | ||
name: Print checked files | ||
description: Print input to the static check hooks for troubleshooting | ||
- id: check-hooks-apply | ||
name: Check if all hooks apply to the repository | ||
- repo: https://github.com/thlorenz/doctoc.git | ||
|
@@ -65,7 +66,7 @@ repos: | |
- --fuzzy-match-generates-todo | ||
files: \.rst$ | ||
- id: insert-license | ||
name: Add license for all CSS/JS/JSX/PUML/TS/TSX files | ||
name: Add license for CSS/JS/JSX/PUML/TS/TSX | ||
files: \.(css|jsx?|puml|tsx?)$ | ||
exclude: ^\.github/.*$|^.*/.*_vendor/|^airflow/www/static/js/types/api-generated.ts$|ui/openapi-gen/ | ||
args: | ||
|
@@ -229,7 +230,7 @@ repos: | |
rev: 1.18.0 | ||
hooks: | ||
- id: blacken-docs | ||
name: Run black on Python code blocks in documentation files | ||
name: Run black on docs | ||
args: | ||
- --line-length=110 | ||
- --target-version=py37 | ||
|
@@ -246,7 +247,7 @@ repos: | |
- id: debug-statements | ||
name: Detect accidentally committed debug statements | ||
- id: check-builtin-literals | ||
name: Require literal syntax when initializing builtin types | ||
name: Require literal syntax when initializing builtins | ||
exclude: ^.*/.*_vendor/ | ||
- id: detect-private-key | ||
name: Detect if private key is added to the repository | ||
|
@@ -315,7 +316,8 @@ repos: | |
rev: v2.3.0 | ||
hooks: | ||
- id: codespell | ||
name: Run codespell to check for common misspellings in files | ||
name: Run codespell | ||
description: Run codespell to check for common misspellings in files | ||
entry: bash -c 'echo "If you think that this failure is an error, consider adding the word(s) | ||
to the codespell dictionary at docs/spelling_wordlist.txt. | ||
The word(s) should be in lowercase." && exec codespell "$@"' -- | ||
|
@@ -336,7 +338,8 @@ repos: | |
# to be applied before the non-local pre-commits are run | ||
hooks: | ||
- id: validate-operators-init | ||
name: Prevent templated field logic checks in operators' __init__ | ||
name: No templated field logic checks in operator __init__ | ||
description: Prevent templated field logic checks in operators' __init__ | ||
language: python | ||
entry: ./scripts/ci/pre_commit/validate_operators_init.py | ||
pass_filenames: true | ||
|
@@ -353,7 +356,7 @@ repos: | |
additional_dependencies: ["ruff==0.5.5"] | ||
exclude: ^.*/.*_vendor/|^tests/dags/test_imports.py|^performance/tests/test_.*.py | ||
- id: ruff-format | ||
name: Run 'ruff format' for extremely fast Python formatting | ||
name: Run 'ruff format' | ||
description: "Run 'ruff format' for extremely fast Python formatting" | ||
entry: ./scripts/ci/pre_commit/ruff_format.py | ||
language: python | ||
|
@@ -404,7 +407,7 @@ repos: | |
entry: ./scripts/ci/pre_commit/check_common_compat_used_for_openlineage.py | ||
additional_dependencies: ['rich>=12.4.4'] | ||
- id: check-airflow-providers-bug-report-template | ||
name: Check airflow-bug-report provider list is sorted/unique | ||
name: Sort airflow-bug-report provider list | ||
language: python | ||
files: ^.github/ISSUE_TEMPLATE/airflow_providers_bug_report\.yml$ | ||
require_serial: true | ||
|
@@ -426,7 +429,8 @@ repos: | |
files: ^airflow/providers/.*\.py$ | ||
additional_dependencies: ['rich>=12.4.4'] | ||
- id: check-google-re2-as-dependency | ||
name: Check google-re2 is declared as dependency when needed | ||
name: Check google-re2 declared as dep | ||
description: Check google-re2 is declared as dependency when needed | ||
entry: ./scripts/ci/pre_commit/check_google_re2_imports.py | ||
language: python | ||
pass_filenames: true | ||
|
@@ -441,7 +445,8 @@ repos: | |
pass_filenames: false | ||
additional_dependencies: ['rich>=12.4.4'] | ||
- id: check-sql-dependency-common-data-structure | ||
name: Check dependency of SQL Providers with common data structure | ||
name: Check dependency of SQL providers | ||
description: Check dependency of SQL Providers with common data structure | ||
entry: ./scripts/ci/pre_commit/check_common_sql_dependency.py | ||
language: python | ||
files: ^airflow/providers/.*/hooks/.*\.py$ | ||
|
@@ -508,7 +513,7 @@ repos: | |
^airflow/utils/db.py$ | ||
additional_dependencies: ['packaging','google-re2'] | ||
- id: update-version | ||
name: Update version to the latest version in the documentation | ||
name: Update versions in docs | ||
entry: ./scripts/ci/pre_commit/update_versions.py | ||
language: python | ||
files: ^docs|^airflow/__init__.py$ | ||
|
@@ -521,7 +526,7 @@ repos: | |
pass_filenames: true | ||
files: \.py$ | ||
- id: check-links-to-example-dags-do-not-use-hardcoded-versions | ||
name: Verify example dags do not use hard-coded version numbers | ||
name: Verify no hard-coded version in example dags | ||
description: The links to example dags should use |version| as version specification | ||
language: pygrep | ||
entry: > | ||
|
@@ -661,13 +666,13 @@ repos: | |
pass_filenames: false | ||
files: ^airflow/models/(?:base|mapped)operator\.py$ | ||
- id: check-init-decorator-arguments | ||
name: Check model __init__ and decorator arguments are in sync | ||
name: Sync model __init__ and decorator arguments | ||
language: python | ||
entry: ./scripts/ci/pre_commit/sync_init_decorator.py | ||
pass_filenames: false | ||
files: ^airflow/models/dag\.py$|^airflow/(?:decorators|utils)/task_group\.py$ | ||
- id: check-template-context-variable-in-sync | ||
name: Check all template context variable references are in sync | ||
name: Sync template context variable refs | ||
language: python | ||
entry: ./scripts/ci/pre_commit/template_context_key_sync.py | ||
files: ^airflow/models/taskinstance\.py$|^airflow/utils/context\.pyi?$|^docs/apache-airflow/templates-ref\.rst$ | ||
|
@@ -751,14 +756,14 @@ repos: | |
pass_filenames: true | ||
- id: check-daysago-import-from-utils | ||
language: pygrep | ||
name: Make sure days_ago is imported from airflow.utils.dates | ||
name: days_ago imported from airflow.utils.dates | ||
entry: "(airflow\\.){0,1}utils\\.dates\\.days_ago" | ||
files: \.py$ | ||
exclude: ^.*/.*_vendor/ | ||
pass_filenames: true | ||
- id: check-start-date-not-used-in-defaults | ||
language: pygrep | ||
name: start_date not to be defined in default_args in example_dags | ||
name: start_date not in default_args | ||
entry: "default_args\\s*=\\s*{\\s*(\"|')start_date(\"|')|(\"|')start_date(\"|'):" | ||
files: \.*example_dags.*\.py$ | ||
exclude: ^.*/.*_vendor/ | ||
|
@@ -792,14 +797,14 @@ repos: | |
pass_filenames: false | ||
require_serial: true | ||
- id: update-installed-providers-to-be-sorted | ||
name: Sort alphabetically and uniquify installed_providers.txt | ||
name: Sort and uniquify installed_providers.txt | ||
entry: ./scripts/ci/pre_commit/sort_installed_providers.py | ||
language: python | ||
files: ^\.pre-commit-config\.yaml$|^.*_installed_providers\.txt$ | ||
pass_filenames: false | ||
require_serial: true | ||
- id: update-spelling-wordlist-to-be-sorted | ||
name: Sort alphabetically and uniquify spelling_wordlist.txt | ||
name: Sort spelling_wordlist.txt | ||
entry: ./scripts/ci/pre_commit/sort_spelling_wordlist.py | ||
language: python | ||
files: ^\.pre-commit-config\.yaml$|^docs/spelling_wordlist\.txt$ | ||
|
@@ -895,7 +900,7 @@ repos: | |
name: Validate hook IDs & names and sync with docs | ||
entry: ./scripts/ci/pre_commit/check_pre_commit_hooks.py | ||
args: | ||
- --max-length=60 | ||
- --max-length=53 | ||
language: python | ||
files: ^\.pre-commit-config\.yaml$|^scripts/ci/pre_commit/check_pre_commit_hooks\.py$ | ||
additional_dependencies: ['pyyaml', 'jinja2', 'black==23.10.0', 'tabulate', 'rich>=12.4.4'] | ||
|
@@ -925,7 +930,8 @@ repos: | |
pass_filenames: false | ||
require_serial: true | ||
- id: check-breeze-top-dependencies-limited | ||
name: Breeze should have small number of top-level dependencies | ||
name: Check top-level breeze deps | ||
description: Breeze should have small number of top-level dependencies | ||
language: python | ||
entry: ./scripts/tools/check_if_limited_dependencies.py | ||
files: ^dev/breeze/.*$ | ||
|
@@ -963,7 +969,7 @@ repos: | |
files: \.(md|mdown|markdown)$ | ||
additional_dependencies: ['[email protected]'] | ||
- id: lint-json-schema | ||
name: Lint JSON Schema files with JSON Schema | ||
name: Lint JSON Schema files | ||
entry: ./scripts/ci/pre_commit/json_schema.py | ||
args: | ||
- --spec-url | ||
|
@@ -975,7 +981,7 @@ repos: | |
require_serial: true | ||
additional_dependencies: ['jsonschema>=3.2.0,<5.0', 'PyYAML==5.3.1', 'requests==2.25.0'] | ||
- id: lint-json-schema | ||
name: Lint NodePort Service with JSON Schema | ||
name: Lint NodePort Service | ||
entry: ./scripts/ci/pre_commit/json_schema.py | ||
args: | ||
- --spec-url | ||
|
@@ -986,7 +992,7 @@ repos: | |
require_serial: true | ||
additional_dependencies: ['jsonschema>=3.2.0,<5.0', 'PyYAML==5.3.1', 'requests==2.25.0'] | ||
- id: lint-json-schema | ||
name: Lint Docker compose files with JSON Schema | ||
name: Lint Docker compose files | ||
entry: ./scripts/ci/pre_commit/json_schema.py | ||
args: | ||
- --spec-url | ||
|
@@ -1001,7 +1007,7 @@ repos: | |
require_serial: true | ||
additional_dependencies: ['jsonschema>=3.2.0,<5.0', 'PyYAML==5.3.1', 'requests==2.25.0'] | ||
- id: lint-json-schema | ||
name: Lint chart/values.schema.json file with JSON Schema | ||
name: Lint chart/values.schema.json | ||
entry: ./scripts/ci/pre_commit/json_schema.py | ||
args: | ||
- --spec-file | ||
|
@@ -1019,7 +1025,7 @@ repos: | |
files: ^chart/values\.schema\.json$ | ||
additional_dependencies: ['requests==2.25.0'] | ||
- id: lint-json-schema | ||
name: Lint chart/values.yaml file with JSON Schema | ||
name: Lint chart/values.yaml | ||
entry: ./scripts/ci/pre_commit/json_schema.py | ||
args: | ||
- --enforce-defaults | ||
|
@@ -1032,7 +1038,7 @@ repos: | |
require_serial: true | ||
additional_dependencies: ['jsonschema>=3.2.0,<5.0', 'PyYAML==5.3.1', 'requests==2.25.0'] | ||
- id: lint-json-schema | ||
name: Lint config_templates/config.yml file with JSON Schema | ||
name: Lint config_templates/config.yml | ||
entry: ./scripts/ci/pre_commit/json_schema.py | ||
args: | ||
- --spec-file | ||
|
@@ -1043,7 +1049,8 @@ repos: | |
require_serial: true | ||
additional_dependencies: ['jsonschema>=3.2.0,<5.0', 'PyYAML==5.3.1', 'requests==2.25.0'] | ||
- id: check-persist-credentials-disabled-in-github-workflows | ||
name: Check that workflow files have persist-credentials disabled | ||
name: Check persistent creds in workflow files | ||
description: Check that workflow files have persist-credentials disabled | ||
entry: ./scripts/ci/pre_commit/checkout_no_credentials.py | ||
language: python | ||
pass_filenames: true | ||
|
@@ -1108,7 +1115,8 @@ repos: | |
# This is fast, so not too much downside | ||
always_run: true | ||
- id: update-breeze-cmd-output | ||
name: Update output of breeze commands in Breeze documentation | ||
name: Update breeze docs | ||
description: Update output of breeze commands in Breeze documentation | ||
entry: ./scripts/ci/pre_commit/breeze_cmd_line.py | ||
language: python | ||
files: > | ||
|
@@ -1151,23 +1159,26 @@ repos: | |
pass_filenames: false | ||
files: ^tests/.*\.py$ | ||
- id: ts-compile-format-lint-www | ||
name: TS types generation / ESLint / Prettier against UI files | ||
name: Compile / format / lint WWW | ||
description: TS types generation / ESLint / Prettier against UI files | ||
language: node | ||
'types_or': [javascript, ts, tsx, yaml, css, json] | ||
files: ^airflow/www/static/(js|css)/|^airflow/api_connexion/openapi/v1\.yaml$ | ||
entry: ./scripts/ci/pre_commit/lint_www.py | ||
additional_dependencies: ['[email protected]', "openapi-typescript@>=6.7.4"] | ||
pass_filenames: false | ||
- id: ts-compile-format-lint-ui | ||
name: TS types generation / ESLint / Prettier new UI files | ||
name: Compile / format / lint UI | ||
description: TS types generation / ESLint / Prettier new UI files | ||
language: node | ||
types_or: [javascript, ts, tsx, yaml, css, json] | ||
files: ^airflow/ui/|^airflow/api_connexion/openapi/v1\.yaml$ | ||
entry: ./scripts/ci/pre_commit/lint_ui.py | ||
additional_dependencies: ['[email protected]'] | ||
pass_filenames: false | ||
- id: check-tests-unittest-testcase | ||
name: Check that unit tests do not inherit from unittest.TestCase | ||
name: Unit tests do not inherit from unittest.TestCase | ||
description: Check that unit tests do not inherit from unittest.TestCase | ||
entry: ./scripts/ci/pre_commit/unittest_testcase.py | ||
language: python | ||
pass_filenames: true | ||
|
Oops, something went wrong.