Skip to content

chore(vector): Add lint-docs to CI check #461

chore(vector): Add lint-docs to CI check

chore(vector): Add lint-docs to CI check #461

Workflow file for this run

# Credit: https://github.com/DataDog/helm-charts/blob/main/.github/workflows/ci.yaml
name: Lint and Test Charts
on:
pull_request:
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 chart-testing
uses: helm/[email protected]
- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed)
if [[ -n "$changed" ]]; then
echo -n "Charts changed:"
echo "$changed"
echo "::set-output name=changed::$changed"
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
- name: Set up chart-testing
uses: helm/[email protected]
- name: Copy example values into ci/
run: cp charts/vector/examples/*-values.yaml charts/vector/ci/
- 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: Install Helm Docs
uses: envoy/[email protected]
with:
version: 1.11.0
- name: Run helm-docs
run: |
helm-docs
git diff --exit-code
kubeval-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 and https://hub.docker.com/r/kindest/node/tags
# Aim to match https://github.com/vectordotdev/vector/blob/master/.github/workflows/k8s_e2e.yml as close as possible
k8s:
- v1.23.3
# fails on `kind` but not `minikube`; we weren't able to track down why
# possibly related to https://github.com/kubernetes-sigs/kind/issues/2532
# - v1.22.4
- v1.21.2
- v1.20.7
- v1.19.11
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Add vector helm repo
run: |
helm repo add vector https://helm.vector.dev
helm repo update
- name: Run kubeval
env:
KUBERNETES_VERSION: ${{ matrix.k8s }}
CHANGED_CHARTS: ${{needs.changed.outputs.charts}}
run: .github/kubeval.sh
install-chart:
runs-on: ubuntu-latest
needs:
- lint-chart
- kubeval-chart
strategy:
matrix:
# When changing versions here, check that the version exists at: https://github.com/yannh/kubernetes-json-schema and https://hub.docker.com/r/kindest/node/tags
# Aim to match https://github.com/vectordotdev/vector/blob/master/.github/workflows/k8s_e2e.yml as close as possible
k8s:
- v1.23.3
# fails on `kind` but not `minikube`; we weren't able to track down why
# possibly related to https://github.com/kubernetes-sigs/kind/issues/2532
# - v1.22.4
- v1.21.2
- v1.20.7
- v1.19.11
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Create kind ${{ matrix.k8s }}
uses: helm/kind-action@main
with:
node_image: kindest/node:${{ matrix.k8s }}
- name: Set up chart-testing
uses: helm/[email protected]
- name: Copy example values into ci/
run: cp charts/vector/examples/*-values.yaml charts/vector/ci/
- name: Run chart-testing (install)
run: ct install --config .github/ct.yaml --excluded-charts vector-shared --upgrade
pr-validated:
name: pr-validated
runs-on: ubuntu-latest
needs:
- install-chart
- lint-docs
steps:
- name: validate
run: echo "PR OK"