--- name: Linting on: pull_request: jobs: apply-suggestions-commits: name: 'No "Apply suggestions from code review" Commits' runs-on: ubuntu-latest steps: - name: Get PR commits id: 'get-pr-commits' uses: tim-actions/get-pr-commits@v1.1.0 with: token: ${{ secrets.GITHUB_TOKEN }} - name: 'Verify no "Apply suggestions from code review" commits' uses: tim-actions/commit-message-checker-with-regex@v0.3.1 with: commits: ${{ steps.get-pr-commits.outputs.commits }} pattern: '^(?!.*(apply suggestions from code review))' flags: 'i' error: 'Commits addressing code review feedback should typically be squashed into the commits under review' 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