You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added type hints tosrc/drunc/fsm/. All Protocols are found in fsm/_protocols.py.
The relevant changes in the user workflow have been documented here (link URL)
Type of change
New feature / enhancement
Optimization
Bug fix
Breaking change
Documentation
List of required branches from other repositories
None
Change log
Made fsm mypy compliant.
Suggested manual testing checklist
mypy src/drunc/fsm --follow-imports=silent - silent is needed as the other imports are not mypy compliant yet pytest src/drunc/fsm
Prior to marking this as "Ready for Review"
Tests ran on: local device
Unit tests - some tests can't be ran on the CI. This is documented. If this PR checks a feature that can't be tested with CI, this has been marked appropriately.
Integration tests - the daqsystemtest_integtest_bundle requires a lot of resources, and connections to the EHN1 infrastructure. Check the cross referenced list if you can't run these. The developer needs to run at least the .
Unit tests (pytest --marker) passed
With relevant marker
Without marker
Integration tests passed
Only daqsystemtest_integtest_bundle.sh -k minimal_system_quick_test.py
Full daqsystemtest_integtest_bundle.sh
Testing skipped as there are no core code changes in this PR, this only relates to documentation/CI workflows
Once the above boxes are checked, the PR(s) can be merged following the steps below.
Prior to merging
Choose one of the following an complete all substeps
Changes only affect the Run Control, are in a single repository, and do not affect the end user.
Changes are documented in docstrings and code comments
Wiki has been updated if architectural or endpoint changes
Otherwise
Workflow changes demonstrated in the Change Log (if necessary)
Wiki has been updated (if necessary)
#dunedaq-integration Slack channel notified (see below)
Once completed, the reviewer can merge the PR.
Notification message for a Slack channel
Note - this should be to #dunedaq-integration for general workflow that isn't during a release candidate period, and to #daq-release-prep otherwise.
For an single merge that changes the user workflow
The CCM WG has an isolated PR ready to merge that affects user workflows. The PR is:
_URL_
I will leave time for any comments, otherwise will merge these at the end of the work day _Insert your time zone_.
For co-ordinated merge
The CCM WG has a set of co-ordinated merges ready to merge. The PRs are:
_URL_
_URL_
I will leave time for any comments, otherwise will merge these at the end of the day.
Used pybind11-stubgen to automatically generate the stubs for conffwk. To generate (or regenerate) the stubs int he /typings/ directory, run: pybind11-stubgen conffwk --output-dir=typings
This would only have to be done if conffwk changes.
However, after running that we get:
pybind11_stubgen - [ ERROR] In conffwk._daq_conffwk_py._Configuration.destroy_obj : Invalid expression 'dunedaq::conffwk::ConfigObject'
pybind11_stubgen - [ ERROR] In conffwk._daq_conffwk_py._Configuration.get_obj : Invalid expression 'dunedaq::conffwk::ConfigObject'
pybind11_stubgen - [ ERROR] In conffwk._daq_conffwk_py._Configuration.get_objs : Invalid expression 'dunedaq::conffwk::ConfigObject'
pybind11_stubgen - [WARNING] Raw C++ types/values were found in signatures extracted from docstrings.
That probably means that the pybind11 wrapper for conffwk might have missed some bits or didn't link the return types correctly.
In the case of the conffwk's dal submodule used in /fsm/, a couple of the stubbed methods returned Any so they need to be added manually. That is done in the clean_stubs.py script, which again, should be run only if changes to conffwk were added, or the stubs need changing.
I've looked into this, and the issue with the faulty bindings type generation lies in the cmake configuration in the conffwk repository. Luckily it's an easy fix, but will require synchronisation with the maintainers as we need to set up some CI to automate type binding generation.
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
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes issue #846
Added type hints to
src/drunc/fsm/. AllProtocolsare found infsm/_protocols.py.The relevant changes in the user workflow have been documented here (link URL)
Type of change
List of required branches from other repositories
None
Change log
Made
fsmmypy compliant.Suggested manual testing checklist
mypy src/drunc/fsm --follow-imports=silent- silent is needed as the other imports are not mypy compliant yetpytest src/drunc/fsmPrior to marking this as "Ready for Review"
Tests ran on: local device
Unit tests - some tests can't be ran on the CI. This is documented. If this PR checks a feature that can't be tested with CI, this has been marked appropriately.
Integration tests - the
daqsystemtest_integtest_bundlerequires a lot of resources, and connections to the EHN1 infrastructure. Check the cross referenced list if you can't run these. The developer needs to run at least the .pytest --marker) passeddaqsystemtest_integtest_bundle.sh -k minimal_system_quick_test.pydaqsystemtest_integtest_bundle.sh./scripts/drunc_integtest_bundle.sh)Final checklist prior to marking this as "Ready for Review"
Reviewer checklist
src/daqsystemtest_integtest_bundle.sh -k minimal_system_quick_test.pyifdaqsystemtest_integtest_bundle.shdruncare in the log filesdruncfailure appears:scripts/drunc_integtest_bundle.sh)Once the above boxes are checked, the PR(s) can be merged following the steps below.
Choose one of the following an complete all substepsPrior to merging
Once completed, the reviewer can merge the PR.
Notification message for a Slack channel
Note - this should be to #dunedaq-integration for general workflow that isn't during a release candidate period, and to #daq-release-prep otherwise.
For an single merge that changes the user workflow
For co-ordinated merge