From 98ad07c81a748c3f8674701ec53ddf0989f25a90 Mon Sep 17 00:00:00 2001 From: SujitMBRDI Date: Mon, 27 Nov 2023 18:20:54 +0530 Subject: [PATCH] charts(bpdm): updated helm chart lint --- .github/workflows/helm-chart-lint.yaml | 67 +++++++++++++++----------- 1 file changed, 40 insertions(+), 27 deletions(-) diff --git a/.github/workflows/helm-chart-lint.yaml b/.github/workflows/helm-chart-lint.yaml index f7fae2f3d..2bfea448e 100644 --- a/.github/workflows/helm-chart-lint.yaml +++ b/.github/workflows/helm-chart-lint.yaml @@ -1,18 +1,21 @@ name: Lint and Test Charts -# Run chart linting and tests on each pull request on: - push: - branches: - - main - - rc/** - paths: - - .github/workflows/** - - charts/** pull_request: - paths: - - .github/workflows/** - - charts/** + workflow_dispatch: + inputs: + node_image: + description: 'kindest/node image for k8s kind cluster' + # k8s version from 3.1 release as default + default: 'kindest/node:v1.27.3' + required: false + type: string + upgrade_from: + description: 'chart version to upgrade from' + # chart version from 3.1 release as default + default: '3.1.2' + required: false + type: string jobs: lint-test: @@ -23,16 +26,23 @@ jobs: with: fetch-depth: 0 + - name: Kubernetes KinD Cluster + uses: container-tools/kind-action@v1 + with: + # upgrade version, default (v0.17.0) uses node image v1.21.1 and doesn't work with more recent node image versions + version: v0.20.0 + # default value for event_name != workflow_dispatch + node_image: ${{ github.event.inputs.node_image || 'kindest/node:v1.27.3' }} + - name: Set up Helm uses: azure/setup-helm@v3 with: - version: v3.10.3 + version: v3.9.3 - # Setup python as a prerequisite for chart linting - uses: actions/setup-python@v4 with: - python-version: 3.7 - + python-version: '3.9' + check-latest: true - name: Set up chart-testing uses: helm/chart-testing-action@v2.3.1 @@ -41,20 +51,23 @@ jobs: run: | changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }}) if [[ -n "$changed" ]]; then - echo "CHART_CHANGED=true" >> $GITHUB_ENV + echo "changed=true" >> $GITHUB_OUTPUT fi - # run chart linting - name: Run chart-testing (lint) run: ct lint --target-branch ${{ github.event.repository.default_branch }} --config charts/config/chart-testing-config.yaml - - # Preparing a kind cluster to install and test charts on - - name: Create kind cluster - uses: helm/kind-action@v1.4.0 - if: ${{ env.CHART_CHANGED == 'true' }} - - # install the chart to the kind cluster and run helm test - # define charts to test with the --charts parameter - name: Run chart-testing (install) - run: ct install --charts charts/bpdm,charts/bpdm/charts/bpdm-pool,charts/bpdm/charts/bpdm-gate,charts/bpdm/charts/bpdm-bridge-dummy,charts/bpdm/charts/bpdm-cleaning-service-dummy,charts/bpdm/charts/bpdm-orchestrator --config charts/config/chart-testing-config.yaml - if: ${{ env.CHART_CHANGED == 'true' }} + run: ct install --charts charts/bpdm --config charts/config/chart-testing-config.yaml + if: github.event_name != 'pull_request' || steps.list-changed.outputs.changed == 'true' + + # Upgrade the released chart version with the locally available chart + # default value for event_name != workflow_dispatch + - name: Run helm upgrade + run: | + helm repo add bitnami https://charts.bitnami.com/bitnami + helm repo add tractusx-dev https://eclipse-tractusx.github.io/charts/dev + helm repo add opensearch https://opensearch-project.github.io/helm-charts + helm install bpdm-test tractusx-dev/bpdm --version ${{ github.event.inputs.upgrade_from || '3.1.2' }} + helm dependency update charts/bpdm + helm upgrade bpdm-test charts/bdpm + if: github.event_name != 'pull_request' || steps.list-changed.outputs.changed == 'true' \ No newline at end of file