Skip to content

Make CI green against the refreshed lock file (renovate #1305) #1455

Open

Description

@coretl

Renovate's lock file maintenance PR #1305 is red on 15 checks (lint, every unit and system-test job on 3.12-3.14 and windows, 3.11 system tests, codecov/project). Main will break the same way on the next dependency bump, so fix the causes on top of the new lock.

Causes seen in the 2026-10-15 run:

  • NumPy 2.5 DeprecationWarning: Setting the shape on a NumPy array has been deprecated raised from epicscorelibs/ca/dbr.py:825 (result.shape = (1,)) inside aioca.caput. pytest turns it into an error, so every ca system test fails (50 failed, 47 errors on ubuntu 3.12 system tests).
  • ruff property-docstring-starts-with-verb: 8 errors, in core/_command.py (lines 110, 319), core/_device.py (233, 249), core/_mock_signal_backend.py (61, 100), core/_signal.py (95, 103).
  • pyright: 1 error at src/ophyd_async/core/_datatypes.py:170:44, TypeForm[Any] cannot be assigned to parameter datatype: type of get_dtype.
  • Unit test tests/unit_tests/core/test_signal.py::test_signal_unknown_datatype[NDArray-...] fails: expected Expected Array1D[dtype], got NDArray[numpy.str_], actual issubclass() arg 1 must be a class (same code path as the pyright error; this one was not on the earlier board).

Acceptance criteria:

  • Branch on top of the Lock file maintenance #1305 lock where lint, tox -e type-checking, tox -e tests and all system-test jobs pass on 3.11-3.14, ubuntu and windows.
  • CA warning handled narrowly: a filterwarnings entry for that exact message from epicscorelibs, or a numpy<2.5 pin, with a comment linking the upstream issue (open one on epics-base/epicscorelibs or aioca if none exists).
  • Property docstrings reworded (noun phrase, not a verb), no behaviour change.
  • _datatypes.py:170 fixed so both the pyright error and the NDArray unit test pass.

Pointers: PR #1305 (renovate/lock-file-maintenance); reproduce locally with uv sync on the PR branch then tox -e pre-commit,type-checking,tests. The docstring edits touch _device.py, _signal.py, _mock_signal_backend.py, which #1371, #1399, #1441 also edit: merge this first. _datatypes.py is also near #1393's NDArray work (it edits test_signal.py and _utils.py), so tell its author.

AI Disclaimer

The code and this description were generated with AI and reviewed/tweaked by the author.

Activity

  1. self-assigned this
    on Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions