mirror of
https://github.com/submariner-io/submariner-charts.git
synced 2026-09-20 20:20:35 +00:00
Add a linting job to verify that no commit message in a PR contains the case insensitive string "Apply suggestions from code review". Commits with exactly this title are generated by GitHub automatically when a batch of proposed changes from code review are accepted from the GitHub UI. A number of such commits have made it into various Submariner/* repos. Commits addressing code review feedback should typically be squashed into the commits under review, or made into well-commented discrete commits. Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
117 lines
3.4 KiB
YAML
117 lines
3.4 KiB
YAML
---
|
|
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
|