--- name: Run Linters on: - push - pull_request jobs: ansible_lint: name: Verify ansible-lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: "3.x" - name: Run ansible-lint run: | pip install ansible-core==2.11.6 ansible-lint find playbooks roles tests -name '*.yml' ! -name "env_*" ! -name "tasks_*" -exec ansible-lint --force-color {} \+ env: ANSIBLE_MODULE_UTILS: plugins/module_utils ANSIBLE_LIBRARY: plugins/modules ANSIBLE_DOC_FRAGMENT_PLUGINS: plugins/doc_fragments yamllint: name: Verify yamllint runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: "3.x" - name: Run yaml-lint uses: ibiqlik/action-yamllint@v1 pydocstyle: name: Verify pydocstyle runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: "3.x" - name: Run pydocstyle run: | pip install pydocstyle pydocstyle flake8: name: Verify flake8 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: "3.x" - name: Run flake8 run: | pip install flake8 flake8 pylint: name: Verify pylint runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: "3.x" - name: Run pylint run: | pip install pylint==2.12.2 pylint plugins roles --disable=import-error shellcheck: name: Shellcheck runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Run ShellCheck uses: ludeeus/action-shellcheck@1.1.0