This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/master by this push:
new 620b098 Add Helm Chart linting (#11108)
620b098 is described below
commit 620b0989b8a5681b0a95478fd23917b2eff8daa6
Author: Jarek Potiuk <[email protected]>
AuthorDate: Thu Sep 24 13:02:11 2020 +0200
Add Helm Chart linting (#11108)
---
.pre-commit-config.yaml | 7 +++++++
BREEZE.rst | 14 +++++++-------
STATIC_CODE_CHECKS.rst | 2 ++
breeze-complete | 1 +
scripts/ci/pre_commit/pre_commit_helm_lint.sh | 24 +++++++++++++++++++++++
scripts/ci/static_checks/helm_lint.sh | 28 +++++++++++++++++++++++++++
6 files changed, 69 insertions(+), 7 deletions(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index cc9c811..057dd97 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -433,3 +433,10 @@ repos:
language: system
files: ^.pre-commit-config.yaml$|^INTHEWILD.md$
require_serial: true
+ - id: helm-lint
+ name: Lint Helm Chart
+ entry: ./scripts/ci/pre_commit/pre_commit_helm_lint.sh
+ language: system
+ pass_filenames: false
+ files: ^chart
+ require_serial: true
diff --git a/BREEZE.rst b/BREEZE.rst
index 4e24154..3bd75fa 100644
--- a/BREEZE.rst
+++ b/BREEZE.rst
@@ -1815,13 +1815,13 @@ This is the current syntax for `./breeze <./breeze>`_:
check-executables-have-shebangs check-hooks-apply
check-integrations
check-merge-conflict check-xml consistent-pylint
daysago-import-check
debug-statements detect-private-key doctoc
dont-use-safe-filter end-of-file-fixer
- fix-encoding-pragma flake8 forbid-tabs
incorrect-use-of-LoggingMixin insert-license
- isort language-matters lint-dockerfile lint-openapi mermaid
mixed-line-ending mypy
- no-relative-imports pre-commit-descriptions
provide-create-sessions pydevd
- pydocstyle pylint pylint-tests python-no-log-warn
restrict-start_date rst-backticks
- setup-order shellcheck sort-in-the-wild stylelint
trailing-whitespace
- update-breeze-file update-extras update-local-yml-file
update-setup-cfg-file
- yamllint
+ fix-encoding-pragma flake8 forbid-tabs helm-lint
incorrect-use-of-LoggingMixin
+ insert-license isort language-matters lint-dockerfile
lint-openapi mermaid
+ mixed-line-ending mypy no-relative-imports
pre-commit-descriptions
+ provide-create-sessions pydevd pydocstyle pylint pylint-tests
python-no-log-warn
+ restrict-start_date rst-backticks setup-order shellcheck
sort-in-the-wild stylelint
+ trailing-whitespace update-breeze-file update-extras
update-local-yml-file
+ update-setup-cfg-file yamllint
You can pass extra arguments including options to to the pre-commit
framework as
<EXTRA_ARGS> passed after --. For example:
diff --git a/STATIC_CODE_CHECKS.rst b/STATIC_CODE_CHECKS.rst
index 934711c..55f7000 100644
--- a/STATIC_CODE_CHECKS.rst
+++ b/STATIC_CODE_CHECKS.rst
@@ -96,6 +96,8 @@ require Breeze Docker images to be installed locally:
-----------------------------------
---------------------------------------------------------------- ------------
``forbid-tabs`` Fails if tabs are used in the project.
-----------------------------------
---------------------------------------------------------------- ------------
+``helm-lint`` Verifies if helm lint passes for the
chart
+-----------------------------------
---------------------------------------------------------------- ------------
``incorrect-use-of-LoggingMixin`` Checks if LoggingMixin is properly
imported.
-----------------------------------
---------------------------------------------------------------- ------------
``insert-license`` Adds licenses for most file types.
diff --git a/breeze-complete b/breeze-complete
index ea973d6..a2faf37 100644
--- a/breeze-complete
+++ b/breeze-complete
@@ -89,6 +89,7 @@ end-of-file-fixer
fix-encoding-pragma
flake8
forbid-tabs
+helm-lint
incorrect-use-of-LoggingMixin
insert-license
isort
diff --git a/scripts/ci/pre_commit/pre_commit_helm_lint.sh
b/scripts/ci/pre_commit/pre_commit_helm_lint.sh
new file mode 100755
index 0000000..56a57f3
--- /dev/null
+++ b/scripts/ci/pre_commit/pre_commit_helm_lint.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+# 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.
+export REMEMBER_LAST_ANSWER="true"
+export PRINT_INFO_FROM_SCRIPTS="false"
+export SKIP_CHECK_REMOTE_IMAGE="true"
+
+
+# shellcheck source=scripts/ci/static_checks/lint_dockerfile.sh
+. "$( dirname "${BASH_SOURCE[0]}" )/../static_checks/helm_lint.sh" "${@}"
diff --git a/scripts/ci/static_checks/helm_lint.sh
b/scripts/ci/static_checks/helm_lint.sh
new file mode 100755
index 0000000..37ec218
--- /dev/null
+++ b/scripts/ci/static_checks/helm_lint.sh
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+# 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.
+# shellcheck source=scripts/ci/libraries/_script_init.sh
+. "$( dirname "${BASH_SOURCE[0]}" )/../libraries/_script_init.sh"
+
+function run_helm_lint() {
+ kind::make_sure_kubernetes_tools_are_installed
+
+ cd "${AIRFLOW_SOURCES}/chart" || exit 1
+ helm lint . -f values.yaml
+}
+
+run_helm_lint