Skip to content

NOISSUE - Fix invalid chart directory in lint-test.yaml #116

NOISSUE - Fix invalid chart directory in lint-test.yaml

NOISSUE - Fix invalid chart directory in lint-test.yaml #116

Workflow file for this run

# Copyright (c) Magistrala
# SPDX-License-Identifier: Apache-2.0
name: Lint and Test Charts
on: pull_request
jobs:
lint-test:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/[email protected]
with:
version: v3.15.4
- name: Add Helm repositories and update
run: |
helm repo add nats https://nats-io.github.io/k8s/helm/charts/
helm repo add jaegertracing https://jaegertracing.github.io/helm-charts
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add hashicorp https://helm.releases.hashicorp.com
helm repo update
- name: Update Helm dependencies
run: |
helm dependency update charts/magistrala
# Python is required because `ct lint` runs Yamale (https://github.com/23andMe/Yamale) and
# yamllint (https://github.com/adrienverge/yamllint) which require Python
- uses: actions/setup-python@v5
with:
python-version: "3.x"
check-latest: true
- name: Set up chart-testing
uses: helm/[email protected]
- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }})
if [[ -n "$changed" ]]; then
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
- name: Run chart-testing (lint)
if: steps.list-changed.outputs.changed == 'true'
run: |
ct lint --chart-dirs charts --target-branch ${{ github.event.repository.default_branch }}
- name: Create kind cluster
if: steps.list-changed.outputs.changed == 'true'
uses: helm/[email protected]
with:
config: |
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
extraPortMappings:
- containerPort: 80
hostPort: 80
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
cpu-manager-policy: static
cpu-manager-reconcile-period: 5s
kube-reserved: cpu=200m
system-reserved: cpu=200m
- role: worker
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
cpu-manager-policy: static
cpu-manager-reconcile-period: 5s
kube-reserved: cpu=200m
system-reserved: cpu=200m
- name: Debug - Print pod status every 10 seconds
if: steps.list-changed.outputs.changed == 'true'
run: |
while true; do
echo "Printing all pods and their status:"
kubectl get pods --all-namespaces
sleep 10
done &
- name: Run chart-testing (install)
if: steps.list-changed.outputs.changed == 'true'
run: |
ct install --chart-dirs charts --target-branch ${{ github.event.repository.default_branch }} --debug --helm-extra-args '--timeout 600s'