--- name: Run Linters on: - push - pull_request jobs: ansible_lint: name: Verify ansible-lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v4.1.1 with: fetch-depth: 0 - uses: actions/setup-python@v5.1.0 with: python-version: "3.13" - name: Run ansible-lint run: | pip install "ansible-core>=2.16,<2.17" 'ansible-lint==6.22' utils/build-collection.sh -ki rpm cd .collection-build ansible-lint --profile production --exclude tests/integration/ --exclude tests/unit/ --parseable --nocolor yamllint: name: Verify yamllint runs-on: ubuntu-latest steps: - uses: actions/checkout@v4.1.1 with: fetch-depth: 1 - uses: actions/setup-python@v5.1.0 with: python-version: "3.x" - name: Run yaml-lint uses: ibiqlik/action-yamllint@v3.1.1 flake8: name: Verify flake8 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4.1.1 with: fetch-depth: 1 - uses: actions/setup-python@v5.1.0 with: python-version: "3.x" - name: Run flake8 run: | pip install flake8 flake8-bugbear flake8 pylint: name: Verify pylint runs-on: ubuntu-latest steps: - uses: actions/checkout@v4.1.1 with: fetch-depth: 1 - uses: actions/setup-python@v5.1.0 with: python-version: "3.x" - name: Run pylint run: | pip install 'pylint>=3.0' pylint plugins roles --disable=import-error shellcheck: name: Shellcheck runs-on: ubuntu-latest steps: - uses: actions/checkout@v4.1.1 with: fetch-depth: 1 - name: Run ShellCheck uses: ludeeus/action-shellcheck@master env: SHELLCHECK_OPTS: -x