Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Charts(BPDM): Updated helm test running workflow #656

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 40 additions & 27 deletions .github/workflows/helm-chart-lint.yaml
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
name: Lint and Test Charts

# Run chart linting and tests on each pull request
on:
FaGru3n marked this conversation as resolved.
Show resolved Hide resolved
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:
Expand All @@ -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
nicoprow marked this conversation as resolved.
Show resolved Hide resolved
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/[email protected]

Expand All @@ -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
nicoprow marked this conversation as resolved.
Show resolved Hide resolved

# Preparing a kind cluster to install and test charts on
- name: Create kind cluster
uses: helm/[email protected]
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
FaGru3n marked this conversation as resolved.
Show resolved Hide resolved
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
nicoprow marked this conversation as resolved.
Show resolved Hide resolved
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'
Loading