netdata/.github/workflows/review.yml

99 lines
2.8 KiB
YAML

---
# Runs various ReviewDog based checks against PR with suggested changes to improve quality
name: Review
on:
pull_request: null
env:
run_eslint: 0
run_hadolint: 0
run_shellcheck: 0
run_yamllint: 0
DO_NOT_TRACK: 1
jobs:
eslint:
name: eslint
runs-on: ubuntu-latest
steps:
- name: Git clone repository
uses: actions/checkout@v2
with:
submodules: recursive
fetch-depth: 0
- name: Check files
run: |
if git diff --name-only origin/${{ github.base_ref }} HEAD | grep -v "web/gui/dashboard" | grep -Eq '*\.js|node\.d\.plugin\.in' ; then
echo 'run_eslint=1' >> $GITHUB_ENV
fi
- name: Run eslint
if: env.run_eslint == 1
uses: reviewdog/action-eslint@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
reporter: github-pr-check
eslint_flags: '.'
hadolint:
name: hadolint
runs-on: ubuntu-latest
steps:
- name: Git clone repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Check files
run: |
if git diff --name-only origin/${{ github.base_ref }} HEAD | grep -Eq '*Dockerfile*' ; then
echo 'run_hadolint=1' >> $GITHUB_ENV
fi
- name: Run hadolint
if: env.run_hadolint == 1
uses: reviewdog/action-hadolint@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
reporter: github-pr-check
shellcheck:
name: shellcheck
runs-on: ubuntu-latest
steps:
- name: Git clone repository
uses: actions/checkout@v2
with:
submodules: recursive
fetch-depth: 0
- name: Check files
run: |
if git diff --name-only origin/${{ github.base_ref }} HEAD | grep -Eq '*\.sh.*' ; then
echo 'run_shellcheck=1' >> $GITHUB_ENV
fi
- name: Run shellcheck
if: env.run_shellcheck == 1
uses: reviewdog/action-shellcheck@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
reporter: github-pr-check
path: "."
pattern: "*.sh*"
exclude: "./.git/*"
yamllint:
name: yamllint
runs-on: ubuntu-latest
steps:
- name: Git clone repository
uses: actions/checkout@v2
with:
submodules: recursive
fetch-depth: 0
- name: Check files
run: |
if git diff --name-only origin/${{ github.base_ref }} HEAD | grep -Eq '*\.ya?ml|python\.d/.*\.conf' ; then
echo 'run_yamllint=1' >> $GITHUB_ENV
fi
- name: Run yamllint
if: env.run_yamllint == 1
uses: reviewdog/action-yamllint@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
reporter: github-pr-check