Skip to content

Add helm option to enable kubernetesUseEndpointSlices and add endpointslices to DCA RBAC #3765

Add helm option to enable kubernetesUseEndpointSlices and add endpointslices to DCA RBAC

Add helm option to enable kubernetesUseEndpointSlices and add endpointslices to DCA RBAC #3765

Workflow file for this run

name: Lint and Test Charts
on:
pull_request:
paths:
- "charts/**"
# Permission forced by repo-level setting; only elevate on job-level
permissions:
contents: read
# packages: read
jobs:
changed:
runs-on: ubuntu-latest
outputs:
charts: ${{ steps.list-changed.outputs.changed }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v3.5
with:
version: v3.6.3
- uses: actions/setup-python@v4
with:
python-version: 3.12
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.6.1
- 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@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v4
with:
python-version: 3.12
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.6.1
- 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@v4
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.15
- v1.27.16
- v1.28.13
- v1.29.8
- v1.30.4
- v1.31.1
steps:
- name: Checkout
uses: actions/checkout@v4
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:
versions:
- k8s: v1.18.20
kind: v0.17.0
- k8s: v1.22.17
kind: v0.22.0
- k8s: v1.24.17
kind: v0.22.0
- k8s: v1.25.16
kind: v0.22.0
- k8s: v1.26.15
kind: v0.22.0
- k8s: v1.27.16
kind: v0.22.0
- k8s: v1.28.13
kind: v0.22.0
- k8s: v1.29.8
kind: v0.22.0
- k8s: v1.30.4
kind: v0.22.0
- k8s: v1.31.1
kind: v0.22.0
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Create kind ${{ matrix.versions.k8s }} cluster with kind version ${{ matrix.versions.kind }}
uses: helm/kind-action@v1.10.0
with:
version: ${{ matrix.versions.kind }}
node_image: kindest/node:${{ matrix.versions.k8s}}
config: .github/kind_config.yaml
- uses: actions/setup-python@v4
with:
python-version: 3.12
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.6.1
- 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"