Skip to content

Add CI for helm charts #4

Add CI for helm charts

Add CI for helm charts #4

Workflow file for this run

name: Charts CI
on: pull_request
jobs:
lint-test:
runs-on: ubuntu-latest
env:
NAMESPACE: "cluster-registry"
CLUSTER_NAME: "cluster-registry-cluster"
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: v3.11.2
# `ct lint` uses
# Yamale (https://github.com/23andMe/Yamale) and
# yamllint (https://github.com/adrienverge/yamllint)
# which require python
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
check-latest: true
- name: Run chart-testing
uses: helm/chart-testing-action@v2.4.0
- 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 --target-branch ${{ github.event.repository.default_branch }}
- name: Create kind cluster
if: steps.list-changed.outputs.changed == 'true'
uses: helm/kind-action@v1.7.0
with:
cluster_name: ${{ env.CLUSTER_NAME }}
- name: Set up env
env:
CLUSTER_REGISTRY_SECRET_NAME: "cluster-registry-aws"
run: |
kubectl config use-context kind-${{ env.CLUSTER_NAME }}
kubectl create namespace ${{ env.NAMESPACE }}
kubectl -n ${{ env.NAMESPACE }} create secret generic ${{ env.CLUSTER_REGISTRY_SECRET_NAME }} \
--from-literal=AWS_ACCESS_KEY_ID=${{ env.AWS_ACCESS_KEY_ID }} \
--from-literal=AWS_SECRET_ACCESS_KEY=${{ env.AWS_SECRET_ACCESS_KEY }} \
--from-literal=SQS_AWS_REGION=${{ env.SQS_AWS_REGION }} \
--from-literal=SQS_ENDPOINT=${{ env.SQS_ENDPOINT }} \
--from-literal=SQS_QUEUE_NAME=${{ env.SQS_QUEUE_NAME }}
- name: Run chart-testing (install)
if: steps.list-changed.outputs.changed == 'true'
run: ct install --target-branch ${{ github.event.repository.default_branch }} --namespace ${{ env.NAMESPACE }}
- name: Debug
run: |
kubectl config use-context kind-${{ env.CLUSTER_NAME }}
kubectl logs -n ${{ env.NAMESPACE }} -f deployments/cluster-registry-client