119 lines
4.1 KiB
YAML
119 lines
4.1 KiB
YAML
# 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.2.0'
|
|
default_language_version:
|
|
python: python3
|
|
node: 22.19.0
|
|
golang: 1.24.0
|
|
repos:
|
|
- repo: https://github.com/Lucas-C/pre-commit-hooks
|
|
rev: ad1b27d73581aa16cca06fc4a0761fc563ffe8e8 # frozen: v1.5.6
|
|
hooks:
|
|
- id: insert-license
|
|
name: Add license for all Helm template files
|
|
files: ^templates/.*
|
|
args:
|
|
- --comment-style
|
|
- "{{/*||*/}}"
|
|
- --license-filepath
|
|
- ../scripts/ci/license-templates/LICENSE.txt
|
|
- --fuzzy-match-generates-todo
|
|
- repo: local
|
|
hooks:
|
|
- id: update-chart-dependencies
|
|
name: Update chart dependencies to latest (manual)
|
|
entry: ../scripts/ci/prek/update_chart_dependencies.py
|
|
stages: ['manual']
|
|
language: python
|
|
files: ^\.pre-commit-config\.yaml$|^../scripts/ci/prek/update_build_dependencies\.py$
|
|
pass_filenames: false
|
|
require_serial: true
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0
|
|
hooks:
|
|
- id: pretty-format-json
|
|
name: Format JSON files
|
|
args:
|
|
- --autofix
|
|
- --no-sort-keys
|
|
- --indent
|
|
- "4"
|
|
files:
|
|
(?x)
|
|
^values\.schema\.json$|
|
|
^values_schema\.schema\.json$
|
|
pass_filenames: true
|
|
- repo: local
|
|
hooks:
|
|
- id: lint-helm-chart
|
|
name: Lint Helm Chart
|
|
entry: ../scripts/ci/prek/lint_helm.py
|
|
language: python
|
|
pass_filenames: false
|
|
files: ^.*
|
|
require_serial: true
|
|
- id: validate-chart-annotations
|
|
name: Validate chart annotations
|
|
entry: ../scripts/ci/prek/validate_chart_annotations.py
|
|
language: python
|
|
pass_filenames: false
|
|
files: ^Chart\.yaml$
|
|
- id: kubeconform
|
|
name: Kubeconform check on our helm chart
|
|
entry: ../scripts/ci/prek/check_kubeconform.py
|
|
language: python
|
|
pass_filenames: false
|
|
files: ^.*
|
|
require_serial: true
|
|
- id: lint-json-schema
|
|
name: Lint chart/values.schema.json
|
|
entry: ../scripts/ci/prek/lint_json_schema.py
|
|
args:
|
|
- --spec-file
|
|
- values_schema.schema.json
|
|
- values.schema.json
|
|
language: python
|
|
pass_filenames: false
|
|
files: ^values\.schema\.json$|^values_schema\.schema\.json$
|
|
require_serial: true
|
|
- id: update-vendored-in-k8s-json-schema
|
|
name: Vendor k8s definitions into values.schema.json
|
|
entry: ../scripts/ci/prek/vendor_k8s_json_schema.py
|
|
language: python
|
|
files: ^values\.schema\.json$
|
|
- id: lint-json-schema
|
|
name: Lint chart/values.yaml
|
|
entry: ../scripts/ci/prek/lint_json_schema.py
|
|
args:
|
|
- --enforce-defaults
|
|
- --spec-file
|
|
- values.schema.json
|
|
- values.yaml
|
|
language: python
|
|
pass_filenames: false
|
|
files: ^values\.yaml$|^values\.schema\.json$
|
|
require_serial: true
|
|
- id: lint-chart-schema
|
|
name: Lint chart/values.schema.json file
|
|
entry: ../scripts/ci/prek/chart_schema.py
|
|
language: python
|
|
pass_filenames: false
|
|
files: ^values\.schema\.json$
|
|
require_serial: true
|