Fix --list-devices and --version in Netmiko CLI tools #249
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: Netmiko | |
on: [push,pull_request] | |
env: | |
environment: gh_actions | |
FORCE_COLOR: 1 | |
jobs: | |
linters: | |
name: linters | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
architecture: x64 | |
- name: Install poetry | |
run: | | |
pipx install poetry | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
cache: 'poetry' | |
- name: Install dependencies | |
run: | | |
poetry install | |
- name: Run pylama | |
run: | | |
poetry run pylama . | |
- name: Run black | |
run: | | |
poetry run black --check . | |
- name: Run mypy | |
run: | | |
poetry run mypy --version | |
poetry run mypy ./netmiko/ | |
pytest: | |
name: Std Test on Python ${{ matrix.python-version }} (${{ matrix.platform}}) | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
matrix: | |
python-version: [ '3.8', '3.9', '3.10', '3.11', "3.12", "3.13.0-beta.2" ] | |
platform: [ubuntu-24.04, windows-2022] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: x64 | |
- uses: actions/checkout@v4 | |
- name: Install poetry | |
run: | | |
pipx install poetry | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'poetry' | |
- name: Install dependencies | |
run: | | |
poetry install | |
- name: Run Tests | |
run: | | |
poetry run pytest -v -s tests/test_import_netmiko.py | |
poetry run pytest -v -s tests/unit/test_base_connection.py | |
poetry run pytest -v -s tests/unit/test_ssh_autodetect.py | |
poetry run pytest -v -s tests/unit/test_connection.py | |
poetry run pytest -v -s tests/unit/test_entry_points.py | |
# ARM/X86_64 issues on macos | |
pytest-macos13: | |
name: Std Test on Python ${{ matrix.python-version }} (${{ matrix.platform}}) | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
matrix: | |
python-version: [ '3.8', '3.9', '3.10', '3.11' ] | |
platform: [macos-13] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: x64 | |
- uses: actions/checkout@v4 | |
- name: Install poetry | |
run: | | |
pipx install poetry | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
poetry install | |
- name: Run Tests | |
run: | | |
poetry run pytest -v -s tests/test_import_netmiko.py | |
poetry run pytest -v -s tests/unit/test_base_connection.py | |
poetry run pytest -v -s tests/unit/test_ssh_autodetect.py | |
poetry run pytest -v -s tests/unit/test_connection.py | |
poetry run pytest -v -s tests/unit/test_entry_points.py | |
pytest-macos14: | |
name: Std Test on Python ${{ matrix.python-version }} (${{ matrix.platform}}) | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
matrix: | |
python-version: [ "3.12", "3.13.0-beta.2" ] | |
platform: [macos-14] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: x64 | |
- uses: actions/checkout@v4 | |
- name: Install poetry | |
run: | | |
pipx install poetry | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
poetry install | |
- name: Run Tests | |
run: | | |
poetry run pytest -v -s tests/test_import_netmiko.py | |
poetry run pytest -v -s tests/unit/test_base_connection.py | |
poetry run pytest -v -s tests/unit/test_ssh_autodetect.py | |
poetry run pytest -v -s tests/unit/test_connection.py | |
poetry run pytest -v -s tests/unit/test_entry_points.py | |
pytest_parsers: | |
name: Parsers Test on Python ${{ matrix.python-version }} (${{ matrix.platform}}) | |
defaults: | |
run: | |
shell: bash | |
# Only use latest Python version that will work with pyats/genie due to their | |
# ongoing issues supporting newer Python versions. | |
strategy: | |
matrix: | |
python-version: [ '3.11'] | |
platform: [ubuntu-24.04] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: x64 | |
- uses: actions/checkout@v4 | |
- name: Install poetry | |
run: | | |
pipx install poetry | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'poetry' | |
- name: Install dependencies | |
run: | | |
poetry install --with parsers | |
- name: Run Tests | |
run: | | |
poetry run pytest -v -s tests/test_import_netmiko.py | |
poetry run pytest -v -s tests/unit/test_utilities.py |