Skip to content

Commit

Permalink
Merge pull request #3455 from ktbyers/develop
Browse files Browse the repository at this point in the history
Netmiko Release 4.4.0
  • Loading branch information
ktbyers authored Jul 8, 2024
2 parents c506863 + bfc5141 commit 94ea604
Show file tree
Hide file tree
Showing 132 changed files with 4,520 additions and 1,955 deletions.
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
### Description of Issue/Question

*Note*: Please check https://guides.github.com/features/mastering-markdown/
to see how to properly format your request.

### Setup

### Netmiko version
(Paste verbatim output from `pip freeze | grep netmiko` between quotes below)

```

```

### Netmiko device_type (if relevant to the issue)
(Paste `device_type` between quotes below)

```

```

### Steps to Reproduce the Issue

### Error Traceback
(Paste the complete traceback of the exception between quotes below)

```

```

### Relevant Python code
(Please try to essentialize your Python code to the minimum code needed to reproduce the issue)
(Paste the code between the quotes below)

```python

```
103 changes: 0 additions & 103 deletions .github/workflows/commit.yaml

This file was deleted.

217 changes: 217 additions & 0 deletions .github/workflows/main_testing.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,217 @@
---
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
2 changes: 1 addition & 1 deletion EXAMPLES.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ A set of common Netmiko use cases.
## Table of contents

#### Available Device Types
- [Available device types](#available-device-types)
- [Available device types](#available-device-types-1)

#### Simple Examples
- [Simple example](#simple-example)
Expand Down
Loading

0 comments on commit 94ea604

Please sign in to comment.