blob: cc90f867a60b3ca756b5a5ec790a84885cfe03c2 [file]
# 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]
default_language_version:
# force all unspecified python hooks to run python3
python: python310
node: "22.13.0"
exclude: ^(docs-archive|landing-pages/site/static/external|landing-pages/site/layouts/partials/scripts.html|landing-pages/site/assets/scss/_variables.scss)
minimum_prek_version: '0.2.13'
repos:
- repo: meta
hooks:
- id: check-hooks-apply
- id: check-useless-excludes
- repo: https://github.com/eclipse-csi/octopin
# We need this commit because if supports two spaces before comments (yamllint compatibility)
rev: 67eac129b3e1d8ddb47e657bb2fda28c33d948ca # frozen: v0.1.4
hooks:
- id: pin-versions
name: Pin versions of dependencies in CI workflows (manual)
stages: ['manual']
language: python
language_version: python311
- repo: https://github.com/woodruffw/zizmor-pre-commit
rev: b546b77c44c466a54a42af5499dcc0dcc1a3193f # frozen: v1.22.0
hooks:
- id: zizmor
name: Run zizmor to check for github workflow syntax errors
types: [yaml]
files: ^\.github/workflows/.*$|^\.github/actions/.*$
require_serial: true
entry: zizmor
- repo: https://github.com/Lucas-C/pre-commit-hooks
rev: ad1b27d73581aa16cca06fc4a0761fc563ffe8e8 # frozen: v1.5.6
hooks:
- id: forbid-tabs
exclude: ^\.gitmodules$
- id: insert-license
name: Add licence for all other files
args:
- --comment-style
- "|#|"
- --license-filepath
- license-templates/LICENSE.txt
- --fuzzy-match-generates-todo
files: ^\.gitmodules$|^\.gitignore$|^\.gitignore$|^Dockerfile.*$
- id: insert-license
name: Add licence for all JS/CSS/SCSS files
files: \.js$|\.s?css$
args:
- --comment-style
- "/**| *| */"
- --license-filepath
- license-templates/LICENSE.txt
- --fuzzy-match-generates-todo
- id: insert-license
name: Add licence for all shell files
types: [shell]
files: ^breeze$|^breeze-complete$|\.sh$
args:
- --comment-style
- "|#|"
- --license-filepath
- license-templates/LICENSE.txt
- --fuzzy-match-generates-todo
- id: insert-license
name: Add licence for all yaml files
types: [yaml]
args:
- --comment-style
- "|#|"
- --license-filepath
- license-templates/LICENSE.txt
- --fuzzy-match-generates-todo
- id: insert-license
name: Add licence for all TOML files
types: [toml]
exclude: \.lock$
args:
- --comment-style
- "|#|"
- --license-filepath
- license-templates/LICENSE.txt
- --fuzzy-match-generates-todo
- id: insert-license
name: Add licence for all HTML files
types: [text]
args:
- --comment-style
- "{{/*||*/}}"
- --license-filepath
- license-templates/LICENSE.txt
- --fuzzy-match-generates-todo
files: ^landing-pages/site/layouts/.+\.html$
- id: insert-license
name: Add licence for all Python files
types: [python]
args:
- --comment-style
- "|#|"
- --license-filepath
- license-templates/LICENSE.txt
- --fuzzy-match-generates-todo
- id: insert-license
name: Add license for all rst files
args:
- --comment-style
- "||"
- --license-filepath
- license-templates/LICENSE.rst
- --fuzzy-match-generates-todo
files: \.rst$
- id: insert-license
name: Add license for all JINJA template files
files: ^sphinx_airflow_theme/.*\.html$
args:
- --comment-style
- "{#||#}"
- --license-filepath
- license-templates/LICENSE.txt
- --fuzzy-match-generates-todo
- repo: local
hooks:
- id: shellcheck
name: Check Shell scripts syntax correctness
language: docker_image
entry: koalaman/shellcheck:stable -x -a
types: [shell]
files: ^breeze$|^breeze-complete$|\.sh$|^hooks/build$|^hooks/push$
- id: lint-dockerfile
name: Lint Dockerfile
language: system
entry: bash -c "docker run --rm hadolint/hadolint:latest <Dockerfile"
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0
hooks:
- id: check-executables-have-shebangs
- id: check-json
- id: check-merge-conflict
- id: check-toml
- id: check-yaml
- id: detect-private-key
- id: end-of-file-fixer
exclude: ^landing-pages/site/static/k8s-schemas/
- id: pretty-format-json
args:
- --indent=2
- --autofix
- --top-keys=name,version,description,repository,main,author,license,scripts
exclude: ^landing-pages/site/static/k8s-schemas/
- id: mixed-line-ending
- id: trailing-whitespace
args: [--markdown-linebreak-ext=md]
- repo: https://github.com/thlorenz/doctoc.git
rev: 68f070c98b9a053eabfa7f8899d1f42b9919f98c # frozen: v2.2.0
hooks:
- id: doctoc
name: Add TOC for Markdown files
files: >
(?x)
^sphinx_airflow_theme/README\.md$|
^CONTRIBUTE\.md$
args:
- "--maxlevel"
- "2"