fix(anta.tests): Fix VerifyLLDPNeighbors #672
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Linting and Testing Anta | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
file-changes: | |
runs-on: ubuntu-latest | |
outputs: | |
code: ${{ steps.filter.outputs.code }} | |
docs: ${{ steps.filter.outputs.docs }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dorny/paths-filter@v2 | |
id: filter | |
with: | |
filters: | | |
code: | |
- 'anta/*' | |
- 'anta/**' | |
- 'tests/*' | |
- 'tests/**' | |
core: | |
- 'anta/*' | |
- 'anta/reporter/*' | |
- 'anta/result_manager/*' | |
- 'anta/tools/*' | |
cli: | |
- 'anta/cli/*' | |
- 'anta/cli/**' | |
tests: | |
- 'anta/tests/*' | |
- 'anta/tests/**' | |
docs: | |
- '.github/workflows/pull-request-management.yml' | |
- 'mkdocs.yml' | |
- 'docs/*' | |
- 'docs/**' | |
- 'README.md' | |
check-requirements: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
needs: file-changes | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: install requirements | |
run: | | |
pip install . | |
- name: install dev requirements | |
run: pip install .[dev] | |
missing-documentation: | |
name: "Warning documentation is missing" | |
runs-on: ubuntu-20.04 | |
needs: [file-changes] | |
if: needs.file-changes.outputs.cli == 'true' && needs.file-changes.outputs.docs == 'false' | |
steps: | |
- name: Documentation is missing | |
uses: GrantBirki/[email protected] | |
with: | |
body: | | |
Please consider that documentation is missing under `docs/` folder. | |
You should update documentation to reflect your change, or maybe not :) | |
lint-yaml: | |
name: Run linting for yaml files | |
runs-on: ubuntu-20.04 | |
needs: [file-changes, check-requirements] | |
if: needs.file-changes.outputs.code == 'true' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: yaml-lint | |
uses: ibiqlik/action-yamllint@v3 | |
with: | |
config_file: .yamllint.yml | |
file_or_dir: . | |
lint-python: | |
name: Run isort, black, flake8 and pylint | |
runs-on: ubuntu-20.04 | |
needs: file-changes | |
if: needs.file-changes.outputs.code == 'true' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: pip install tox | |
- name: "Run tox linting environment" | |
run: tox -e lint | |
type-python: | |
name: Run mypy | |
runs-on: ubuntu-20.04 | |
needs: file-changes | |
if: needs.file-changes.outputs.code == 'true' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: pip install tox | |
- name: "Run tox typing environment" | |
run: tox -e type | |
test-python: | |
name: Pytest across all supported python versions | |
runs-on: ubuntu-20.04 | |
needs: [lint-python, type-python] | |
strategy: | |
matrix: | |
python: ["3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: Install dependencies | |
run: pip install tox tox-gh-actions | |
- name: "Run pytest via tox for ${{ matrix.python }}" | |
run: tox | |
test-documentation: | |
name: Build offline documentation for testing | |
runs-on: ubuntu-20.04 | |
needs: [lint-python, type-python, test-python] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: pip install .[doc] | |
- name: "Build mkdocs documentation offline" | |
run: mkdocs build |