Skip to content

Improve private actions runner helm chart for kubernetes actions #3476

Improve private actions runner helm chart for kubernetes actions

Improve private actions runner helm chart for kubernetes actions #3476

Workflow file for this run

name: Lint and Test Charts
on:
pull_request:
paths:
- "charts/**"
jobs:
changed:
runs-on: ubuntu-latest
outputs:
charts: ${{ steps.list-changed.outputs.changed }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/[email protected]
with:
version: v3.6.3
- uses: actions/setup-python@v4
with:
python-version: 3.7
- name: Set up chart-testing
uses: helm/[email protected]
- name: Run chart-testing (list-changed)
id: list-changed
env:
CT_DEBUG: "false"
run: |
changed=$(ct list-changed --config .github/ct.yaml)
if [[ -n "$changed" ]]; then
echo -n "Charts changed:"
echo "$changed"
echo "changed<<EOF" >> $GITHUB_OUTPUT
echo "$changed" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
else
echo "PR without any chart changes - failing"
exit 1
fi
lint-chart:
runs-on: ubuntu-latest
needs:
- changed
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-python@v4
with:
python-version: 3.7
- name: Set up chart-testing
uses: helm/[email protected]
- name: Run chart-testing (lint)
run: ct lint --config .github/ct.yaml
lint-docs:
runs-on: ubuntu-latest
needs:
- changed
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Run helm-docs
run: .github/helm-docs.sh
kubeconform-chart:
runs-on: ubuntu-latest
needs:
- changed
strategy:
matrix:
# When changing versions here, check that the version exists at:
# https://github.com/yannh/kubernetes-json-schema
# The original source at:
# https://github.com/instrumenta/kubernetes-json-schema is no
# longer updated
k8s:
- v1.16.4
- v1.18.20
- v1.22.17
- v1.24.17
- v1.25.16
- v1.26.13
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Add datadog helm repo
run: helm repo add datadog https://helm.datadoghq.com && helm repo update
- name: Add KSM helm repo
run: helm repo add kube-state-metrics https://prometheus-community.github.io/helm-charts
- name: Run kubeconform
env:
KUBERNETES_VERSION: ${{ matrix.k8s }}
CHANGED_CHARTS: ${{needs.changed.outputs.charts}}
run: .github/kubeconform.sh
install-chart:
name: install-chart
runs-on: ubuntu-20.04
timeout-minutes: 60
needs:
- lint-chart
- kubeconform-chart
strategy:
matrix:
k8s:
- v1.18.20
- v1.22.9
- v1.24.2
- v1.25.16
- v1.26.13
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Create kind ${{ matrix.k8s }} cluster
uses: helm/[email protected]
with:
node_image: kindest/node:${{ matrix.k8s }}
config: .github/kind_config.yaml
- uses: actions/setup-python@v4
with:
python-version: 3.7
- name: Set up chart-testing
uses: helm/[email protected]
- name: Run chart-testing (install)
run: ct install --config .github/ct.yaml
pr-validated:
name: pr-validated
runs-on: ubuntu-latest
needs:
- install-chart
steps:
- name: validate
run: echo "PR OK"