Skip to content

[Orch] Add additional permissions for operator to view CRDs #3592

[Orch] Add additional permissions for operator to view CRDs

[Orch] Add additional permissions for operator to view CRDs #3592

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@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.7
- 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.7
- 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:
k8s:
# TODO: `kind create cluster --config .github/kind_config.yaml --name chart-testing --wait 60s --image kindest/node:v1.18.20` fails
# - 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: Create kind ${{ matrix.k8s }} cluster
uses: helm/kind-action@v1.10.0
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/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"