--- 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