From db25cbab85e1c556dbbad4cee748eb0601b87b0a Mon Sep 17 00:00:00 2001 From: Sheogorath <sheogorath@shivering-isles.com> Date: Sun, 25 Sep 2022 23:12:30 +0200 Subject: [PATCH] ci(charts): Add automatic unit-tests for helm charts This patch introduces the CI integration for helm-unittest, a nice helm plugin, which allows to run automatic tests on helm charts and validating the YAML based on individual settings with clear reports in gitlab. --- .gitlab-ci.yml | 1 + charts/.utils/gitlab-ci.yaml | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 255233df4..2edd2c12a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,6 +4,7 @@ include: - local: 'charts/.utils/gitlab-ci.yaml' stages: - build + - test - changelog - release diff --git a/charts/.utils/gitlab-ci.yaml b/charts/.utils/gitlab-ci.yaml index 2e45ade0d..0801e34c5 100644 --- a/charts/.utils/gitlab-ci.yaml +++ b/charts/.utils/gitlab-ci.yaml @@ -17,3 +17,23 @@ chart-build-keycloak: - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "push"' changes: - charts/${CHART}/Chart.yaml + +chart-helm-unittest: + stage: test + extends: .chart-matrix + image: + name: docker.io/quintush/helm-unittest:3.10.0-0.2.9 + entrypoint: [""] + script: + - helm unittest -3 -o helm-unittest.xml -t junit charts/${CHART} + artifacts: + when: always + reports: + junit: + - helm-unittest.xml + rules: + - if: '$CI_PIPELINE_SOURCE == "push"' + changes: + - charts/${CHART}/**/* + exists: + - charts/${CHART}/tests/ -- GitLab