Skip to content

Commit

Permalink
Add Helm Chart linting (apache#11108)
Browse files Browse the repository at this point in the history
(cherry picked from commit 620b098)
  • Loading branch information
potiuk authored and RaviTezu committed Oct 25, 2020
1 parent 4464a52 commit 80a794c
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 6 deletions.
7 changes: 7 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -339,3 +339,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
10 changes: 5 additions & 5 deletions BREEZE.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1689,11 +1689,11 @@ This is the current syntax for `./breeze <./breeze>`_:
check-builtin-literals check-executables-have-shebangs check-hooks-apply
check-integrations check-merge-conflict check-xml debug-statements
detect-private-key doctoc dont-use-safe-filter end-of-file-fixer fix-encoding-pragma
flake8 forbid-tabs insert-license incorrect-use-of-LoggingMixin language-matters
lint-dockerfile lint-openapi mixed-line-ending mypy pre-commit-descriptions pydevd
python2-compile python2-fastcheck python-no-log-warn rst-backticks setup-order
shellcheck sort-in-the-wild trailing-whitespace update-breeze-file update-extras
update-local-yml-file yamllint
flake8 forbid-tabs helm-lint incorrect-use-of-LoggingMixin insert-license
language-matters lint-dockerfile lint-openapi mixed-line-ending mypy
pre-commit-descriptions pydevd python2-compile python2-fastcheck python-no-log-warn
rst-backticks setup-order shellcheck sort-in-the-wild trailing-whitespace
update-breeze-file update-extras update-local-yml-file yamllint
You can pass extra arguments including options to to the pre-commit framework as
<EXTRA_ARGS> passed after --. For example:
Expand Down
2 changes: 2 additions & 0 deletions STATIC_CODE_CHECKS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,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.
Expand Down
3 changes: 2 additions & 1 deletion breeze-complete
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,9 @@ end-of-file-fixer
fix-encoding-pragma
flake8
forbid-tabs
insert-license
helm-lint
incorrect-use-of-LoggingMixin
insert-license
language-matters
lint-dockerfile
lint-openapi
Expand Down
24 changes: 24 additions & 0 deletions scripts/ci/pre_commit/pre_commit_helm_lint.sh
Original file line number Diff line number Diff line change
@@ -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" "${@}"
28 changes: 28 additions & 0 deletions scripts/ci/static_checks/helm_lint.sh
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 80a794c

Please sign in to comment.