锐捷设备驱动,用于跳过登录密码更改提示和enable密码更改提示。(Ruijie device driver for pass login_password change handler and enable_password change handler) #404
Workflow file for this run
This file contains hidden or 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.9', '3.10', '3.11', "3.12", "3.13" ] | |
| 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.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 |