Skip to content

Propagate known request identity on ModbusIOException (#2993) #8115

Propagate known request identity on ModbusIOException (#2993)

Propagate known request identity on ModbusIOException (#2993) #8115

Workflow file for this run

name: CI
on:
push:
branches:
- dev
- master
tags:
- v*
pull_request:
branches:
- dev
- wait_next_api
types: [opened, synchronize, reopened, ready_for_review]
schedule:
# Sunday at 02:10 UTC.
- cron: '10 2 * * 0'
workflow_dispatch:
jobs:
testing:
name: ${{ matrix.os }} - ${{ matrix.python }}
if: github.event.pull_request.draft == false
runs-on: ${{ matrix.os }}
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python: ['3.10', '3.11', '3.12', '3.13', '3.14']
include:
- python: '3.10'
run_lint: true
- python: '3.14'
run_doc: true
run_lint: true
- os: macos-latest
run_doc: false
run_lint: false
- os: windows-latest
run_doc: false
run_lint: false
steps:
- name: Checkout repo from github
uses: actions/checkout@v6.0.3
- name: Install uv
uses: astral-sh/setup-uv@v8.2.0
with:
python-version: ${{ matrix.python }}
enable-cache: true
prune-cache: true
cache-dependency-glob: "**/pyproject.toml"
- name: Create virtualenv and sync dependencies
run: |
uv sync --all-extras --all-groups
- name: codespell
if: matrix.run_doc == true
run: |
uv run codespell
- name: documentation
if: matrix.run_doc == true
run: |
source .venv/bin/activate
cd doc
./build_html
# this won't work on Windows, but we run_doc == False on Windows
- name: pylint
if: matrix.run_lint == true
run: |
uv run pylint --recursive=y examples pymodbus test
- name: Type check with zuban
if: matrix.run_lint == true
run: |
uv run zuban check pymodbus examples test
- name: ruff (format check)
if: matrix.run_lint == true
run: |
uv run ruff format --check .
- name: ruff (lint check)
if: matrix.run_lint == true
run: |
uv run ruff check .
- name: pytest
if: ${{ (matrix.os != 'ubuntu-latest') || (matrix.python != '3.14') }}
run: |
uv run pytest
- name: pytest coverage
if: ${{ (matrix.os == 'ubuntu-latest') && (matrix.python == '3.14') }}
run: |
uv run pytest --cov
ci_complete:
name: ci_complete
runs-on: ubuntu-latest
needs:
- testing
timeout-minutes: 1
steps:
- run: echo 'finish job'