Files
submariner-charts/.github/workflows/linting.yml
T
Daniel FarrellandDaniel Farrell 23968afbef Add helm-docs generation and linting
Generate docs for each chart and verify the committed docs match the
generated docs.

Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2021-06-29 12:14:34 -05:00

99 lines
2.7 KiB
YAML

---
name: Linting
on:
pull_request:
jobs:
chart-testing:
name: Helm Chart Linting
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v2
- name: Set up Helm
uses: azure/setup-helm@v1
with:
version: v3.6.0
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Set up helm/chart-testing
uses: helm/chart-testing-action@v2.1.0
- name: Run helm/chart-testing (lint)
run: ct lint --config ct.yaml
gitlint:
name: Commit Message(s)
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Run gitlint
run: make gitlint
helm-docs:
name: Helm Docs Generation
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v2
- name: Run helm-docs and verify docs are up-to-date
run: |
HELM_DOCS_VERSION="0.15.0"
# Avoid polluting repo with helm-docs' README/LICENSE or other files in the release archive
cd /tmp
curl -sL "https://github.com/norwoodj/helm-docs/releases/download/v${HELM_DOCS_VERSION}/helm-docs_${HELM_DOCS_VERSION}_Linux_x86_64.tar.gz" | tar zx
cd -
/tmp/helm-docs
if [[ ! -z "$(git status --porcelain)" ]]; then
echo "Helm docs not up-to-date:"
git status --porcelain
git diff
echo "Run helm-docs, as the CI does above, and commit the updated docs."
exit 1
fi
markdown-link-check:
name: Markdown Links (modified files)
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v2
- name: Run markdown-link-check
uses: gaurav-nelson/github-action-markdown-link-check@v1
with:
config-file: ".markdownlinkcheck.json"
check-modified-files-only: "yes"
base-branch: ${{ github.base_ref }}
markdownlint:
name: Markdown
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v2
- name: Run markdownlint
run: make markdownlint
yaml-lint:
name: YAML
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v2
- name: Run yamllint
uses: ibiqlik/action-yamllint@v1
with:
file_or_dir: submariner-k8s-broker/Chart.yaml submariner-k8s-broker/values.yaml submariner-operator/Chart.yaml submariner-operator/values.yaml
config_file: .yamllint.yml