Skip to content

PAGE validator: also check for validity and completeness of ReadingOrder #648

PAGE validator: also check for validity and completeness of ReadingOrder

PAGE validator: also check for validity and completeness of ReadingOrder #648

Triggered via pull request May 12, 2026 17:43
Status Success
Total duration 6m 55s
Artifacts

unit-test.yml

on: pull_request
Matrix: build
Fit to window
Zoom out
Zoom in

Annotations

82 errors and 100 warnings
E402: src/ocrd/resource_manager.py#L34
module level import not at top of file
E402: src/ocrd/resource_manager.py#L33
module level import not at top of file
E305: src/ocrd/processor/ocrd_page_result.py#L93
expected 2 blank lines after class or function definition, found 1
E302: src/ocrd/processor/ocrd_page_result.py#L49
expected 2 blank lines, found 1
E302: src/ocrd/processor/builtin/merge_processor.py#L74
expected 2 blank lines, found 1
E713: src/ocrd/processor/builtin/merge_processor.py#L65
test for membership should be 'not in'
E302: src/ocrd/processor/builtin/merge_processor.py#L47
expected 2 blank lines, found 1
E306: src/ocrd/processor/base.py#L1216
expected 1 blank line before a nested definition, found 0
E124: src/ocrd/processor/base.py#L944
closing bracket does not match visual indentation
E302: src/ocrd/processor/base.py#L124
expected 2 blank lines, found 1
E402: src/ocrd/resource_manager.py#L34
module level import not at top of file
E402: src/ocrd/resource_manager.py#L33
module level import not at top of file
E305: src/ocrd/processor/ocrd_page_result.py#L93
expected 2 blank lines after class or function definition, found 1
E302: src/ocrd/processor/ocrd_page_result.py#L49
expected 2 blank lines, found 1
E302: src/ocrd/processor/builtin/merge_processor.py#L74
expected 2 blank lines, found 1
E713: src/ocrd/processor/builtin/merge_processor.py#L65
test for membership should be 'not in'
E302: src/ocrd/processor/builtin/merge_processor.py#L47
expected 2 blank lines, found 1
E306: src/ocrd/processor/base.py#L1216
expected 1 blank line before a nested definition, found 0
E124: src/ocrd/processor/base.py#L944
closing bracket does not match visual indentation
E302: src/ocrd/processor/base.py#L124
expected 2 blank lines, found 1
build (3.10, macos-latest)
WARNING: Cache entry deserialization failed, entry ignored
E402: src/ocrd/resource_manager.py#L34
module level import not at top of file
E402: src/ocrd/resource_manager.py#L33
module level import not at top of file
E305: src/ocrd/processor/ocrd_page_result.py#L93
expected 2 blank lines after class or function definition, found 1
E302: src/ocrd/processor/ocrd_page_result.py#L49
expected 2 blank lines, found 1
E302: src/ocrd/processor/builtin/merge_processor.py#L74
expected 2 blank lines, found 1
E713: src/ocrd/processor/builtin/merge_processor.py#L65
test for membership should be 'not in'
E302: src/ocrd/processor/builtin/merge_processor.py#L47
expected 2 blank lines, found 1
E306: src/ocrd/processor/base.py#L1216
expected 1 blank line before a nested definition, found 0
E124: src/ocrd/processor/base.py#L944
closing bracket does not match visual indentation
E302: src/ocrd/processor/base.py#L124
expected 2 blank lines, found 1
E402: src/ocrd/resource_manager.py#L34
module level import not at top of file
E402: src/ocrd/resource_manager.py#L33
module level import not at top of file
E305: src/ocrd/processor/ocrd_page_result.py#L93
expected 2 blank lines after class or function definition, found 1
E302: src/ocrd/processor/ocrd_page_result.py#L49
expected 2 blank lines, found 1
E302: src/ocrd/processor/builtin/merge_processor.py#L74
expected 2 blank lines, found 1
E713: src/ocrd/processor/builtin/merge_processor.py#L65
test for membership should be 'not in'
E302: src/ocrd/processor/builtin/merge_processor.py#L47
expected 2 blank lines, found 1
E306: src/ocrd/processor/base.py#L1216
expected 1 blank line before a nested definition, found 0
E124: src/ocrd/processor/base.py#L944
closing bracket does not match visual indentation
E302: src/ocrd/processor/base.py#L124
expected 2 blank lines, found 1
E402: src/ocrd/resource_manager.py#L34
module level import not at top of file
E402: src/ocrd/resource_manager.py#L33
module level import not at top of file
E305: src/ocrd/processor/ocrd_page_result.py#L93
expected 2 blank lines after class or function definition, found 1
E302: src/ocrd/processor/ocrd_page_result.py#L49
expected 2 blank lines, found 1
E302: src/ocrd/processor/builtin/merge_processor.py#L74
expected 2 blank lines, found 1
E713: src/ocrd/processor/builtin/merge_processor.py#L65
test for membership should be 'not in'
E302: src/ocrd/processor/builtin/merge_processor.py#L47
expected 2 blank lines, found 1
E306: src/ocrd/processor/base.py#L1216
expected 1 blank line before a nested definition, found 0
E124: src/ocrd/processor/base.py#L944
closing bracket does not match visual indentation
E302: src/ocrd/processor/base.py#L124
expected 2 blank lines, found 1
E402: src/ocrd/resource_manager.py#L34
module level import not at top of file
E402: src/ocrd/resource_manager.py#L33
module level import not at top of file
E305: src/ocrd/processor/ocrd_page_result.py#L93
expected 2 blank lines after class or function definition, found 1
E302: src/ocrd/processor/ocrd_page_result.py#L49
expected 2 blank lines, found 1
E302: src/ocrd/processor/builtin/merge_processor.py#L74
expected 2 blank lines, found 1
E713: src/ocrd/processor/builtin/merge_processor.py#L65
test for membership should be 'not in'
E302: src/ocrd/processor/builtin/merge_processor.py#L47
expected 2 blank lines, found 1
E306: src/ocrd/processor/base.py#L1216
expected 1 blank line before a nested definition, found 0
E124: src/ocrd/processor/base.py#L944
closing bracket does not match visual indentation
E302: src/ocrd/processor/base.py#L124
expected 2 blank lines, found 1
E402: src/ocrd/resource_manager.py#L34
module level import not at top of file
E402: src/ocrd/resource_manager.py#L33
module level import not at top of file
E305: src/ocrd/processor/ocrd_page_result.py#L93
expected 2 blank lines after class or function definition, found 1
E302: src/ocrd/processor/ocrd_page_result.py#L49
expected 2 blank lines, found 1
E302: src/ocrd/processor/builtin/merge_processor.py#L74
expected 2 blank lines, found 1
E713: src/ocrd/processor/builtin/merge_processor.py#L65
test for membership should be 'not in'
E302: src/ocrd/processor/builtin/merge_processor.py#L47
expected 2 blank lines, found 1
E306: src/ocrd/processor/base.py#L1216
expected 1 blank line before a nested definition, found 0
E124: src/ocrd/processor/base.py#L944
closing bracket does not match visual indentation
E302: src/ocrd/processor/base.py#L124
expected 2 blank lines, found 1
E402: src/ocrd/resource_manager.py#L34
module level import not at top of file
E402: src/ocrd/resource_manager.py#L33
module level import not at top of file
E305: src/ocrd/processor/ocrd_page_result.py#L93
expected 2 blank lines after class or function definition, found 1
E302: src/ocrd/processor/ocrd_page_result.py#L49
expected 2 blank lines, found 1
E302: src/ocrd/processor/builtin/merge_processor.py#L74
expected 2 blank lines, found 1
E713: src/ocrd/processor/builtin/merge_processor.py#L65
test for membership should be 'not in'
E302: src/ocrd/processor/builtin/merge_processor.py#L47
expected 2 blank lines, found 1
E306: src/ocrd/processor/base.py#L1216
expected 1 blank line before a nested definition, found 0
E124: src/ocrd/processor/base.py#L944
closing bracket does not match visual indentation
E302: src/ocrd/processor/base.py#L124
expected 2 blank lines, found 1
build (3.9, macos-latest)
WARNING: Cache entry deserialization failed, entry ignored
build (3.12, ubuntu-22.04)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
C901: src/ocrd/decorators/__init__.py#L26
'ocrd_cli_wrap_processor' is too complex (30)
C901: src/ocrd/cli/workspace.py#L324
'workspace_cli_bulk_add' is too complex (29)
W291: src/ocrd/cli/resmgr.py#L81
trailing whitespace
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.get_moduledir' imported but unused
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.directory_size' imported but unused
F401: src/ocrd/cli/resmgr.py#L13
'requests' imported but unused
F401: src/ocrd/cli/resmgr.py#L9
'pathlib.Path' imported but unused
W391: src/ocrd/cli/bashlib.py#L42
blank line at end of file
W291: src/ocrd/cli/bashlib.py#L13
trailing whitespace
F403: src/ocrd/__init__.py#L21
'from ocrd_validators import *' used; unable to detect undefined names
build (3.12, ubuntu-22.04)
Homebrew/actions/setup-homebrew@master is deprecated. Please update your workflow references to use Homebrew/actions/setup-homebrew@main. The "master" branch sync will stop and this warning will become an error when Homebrew 5.2.0 is released (no earlier than 2026-06-10).
build (3.10, macos-latest)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
C901: src/ocrd/decorators/__init__.py#L26
'ocrd_cli_wrap_processor' is too complex (30)
C901: src/ocrd/cli/workspace.py#L324
'workspace_cli_bulk_add' is too complex (29)
W291: src/ocrd/cli/resmgr.py#L81
trailing whitespace
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.get_moduledir' imported but unused
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.directory_size' imported but unused
F401: src/ocrd/cli/resmgr.py#L13
'requests' imported but unused
F401: src/ocrd/cli/resmgr.py#L9
'pathlib.Path' imported but unused
W391: src/ocrd/cli/bashlib.py#L42
blank line at end of file
W291: src/ocrd/cli/bashlib.py#L13
trailing whitespace
F403: src/ocrd/__init__.py#L21
'from ocrd_validators import *' used; unable to detect undefined names
build (3.10, macos-latest)
`$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set: not checking for outdated dependents or dependents with broken linkage!
build (3.10, macos-latest)
Homebrew/actions/setup-homebrew@master is deprecated. Please update your workflow references to use Homebrew/actions/setup-homebrew@main. The "master" branch sync will stop and this warning will become an error when Homebrew 5.2.0 is released (no earlier than 2026-06-10).
build (3.11, ubuntu-22.04)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
C901: src/ocrd/decorators/__init__.py#L26
'ocrd_cli_wrap_processor' is too complex (30)
C901: src/ocrd/cli/workspace.py#L324
'workspace_cli_bulk_add' is too complex (29)
W291: src/ocrd/cli/resmgr.py#L81
trailing whitespace
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.get_moduledir' imported but unused
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.directory_size' imported but unused
F401: src/ocrd/cli/resmgr.py#L13
'requests' imported but unused
F401: src/ocrd/cli/resmgr.py#L9
'pathlib.Path' imported but unused
W391: src/ocrd/cli/bashlib.py#L42
blank line at end of file
W291: src/ocrd/cli/bashlib.py#L13
trailing whitespace
F403: src/ocrd/__init__.py#L21
'from ocrd_validators import *' used; unable to detect undefined names
build (3.11, ubuntu-22.04)
Homebrew/actions/setup-homebrew@master is deprecated. Please update your workflow references to use Homebrew/actions/setup-homebrew@main. The "master" branch sync will stop and this warning will become an error when Homebrew 5.2.0 is released (no earlier than 2026-06-10).
build (3.10, ubuntu-22.04)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
C901: src/ocrd/decorators/__init__.py#L26
'ocrd_cli_wrap_processor' is too complex (30)
C901: src/ocrd/cli/workspace.py#L324
'workspace_cli_bulk_add' is too complex (29)
W291: src/ocrd/cli/resmgr.py#L81
trailing whitespace
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.get_moduledir' imported but unused
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.directory_size' imported but unused
F401: src/ocrd/cli/resmgr.py#L13
'requests' imported but unused
F401: src/ocrd/cli/resmgr.py#L9
'pathlib.Path' imported but unused
W391: src/ocrd/cli/bashlib.py#L42
blank line at end of file
W291: src/ocrd/cli/bashlib.py#L13
trailing whitespace
F403: src/ocrd/__init__.py#L21
'from ocrd_validators import *' used; unable to detect undefined names
build (3.10, ubuntu-22.04)
Homebrew/actions/setup-homebrew@master is deprecated. Please update your workflow references to use Homebrew/actions/setup-homebrew@main. The "master" branch sync will stop and this warning will become an error when Homebrew 5.2.0 is released (no earlier than 2026-06-10).
build (3.11, macos-latest)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
C901: src/ocrd/decorators/__init__.py#L26
'ocrd_cli_wrap_processor' is too complex (30)
C901: src/ocrd/cli/workspace.py#L324
'workspace_cli_bulk_add' is too complex (29)
W291: src/ocrd/cli/resmgr.py#L81
trailing whitespace
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.get_moduledir' imported but unused
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.directory_size' imported but unused
F401: src/ocrd/cli/resmgr.py#L13
'requests' imported but unused
F401: src/ocrd/cli/resmgr.py#L9
'pathlib.Path' imported but unused
W391: src/ocrd/cli/bashlib.py#L42
blank line at end of file
W291: src/ocrd/cli/bashlib.py#L13
trailing whitespace
F403: src/ocrd/__init__.py#L21
'from ocrd_validators import *' used; unable to detect undefined names
build (3.11, macos-latest)
`$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set: not checking for outdated dependents or dependents with broken linkage!
build (3.11, macos-latest)
Homebrew/actions/setup-homebrew@master is deprecated. Please update your workflow references to use Homebrew/actions/setup-homebrew@main. The "master" branch sync will stop and this warning will become an error when Homebrew 5.2.0 is released (no earlier than 2026-06-10).
build (3.9, ubuntu-22.04)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
C901: src/ocrd/decorators/__init__.py#L26
'ocrd_cli_wrap_processor' is too complex (30)
C901: src/ocrd/cli/workspace.py#L324
'workspace_cli_bulk_add' is too complex (29)
W291: src/ocrd/cli/resmgr.py#L81
trailing whitespace
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.get_moduledir' imported but unused
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.directory_size' imported but unused
F401: src/ocrd/cli/resmgr.py#L13
'requests' imported but unused
F401: src/ocrd/cli/resmgr.py#L9
'pathlib.Path' imported but unused
W391: src/ocrd/cli/bashlib.py#L42
blank line at end of file
W291: src/ocrd/cli/bashlib.py#L13
trailing whitespace
F403: src/ocrd/__init__.py#L21
'from ocrd_validators import *' used; unable to detect undefined names
build (3.9, ubuntu-22.04)
Homebrew/actions/setup-homebrew@master is deprecated. Please update your workflow references to use Homebrew/actions/setup-homebrew@main. The "master" branch sync will stop and this warning will become an error when Homebrew 5.2.0 is released (no earlier than 2026-06-10).
build (3.12, macos-latest)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
C901: src/ocrd/decorators/__init__.py#L26
'ocrd_cli_wrap_processor' is too complex (30)
C901: src/ocrd/cli/workspace.py#L324
'workspace_cli_bulk_add' is too complex (29)
W291: src/ocrd/cli/resmgr.py#L81
trailing whitespace
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.get_moduledir' imported but unused
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.directory_size' imported but unused
F401: src/ocrd/cli/resmgr.py#L13
'requests' imported but unused
F401: src/ocrd/cli/resmgr.py#L9
'pathlib.Path' imported but unused
W391: src/ocrd/cli/bashlib.py#L42
blank line at end of file
W291: src/ocrd/cli/bashlib.py#L13
trailing whitespace
F403: src/ocrd/__init__.py#L21
'from ocrd_validators import *' used; unable to detect undefined names
build (3.12, macos-latest)
`$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set: not checking for outdated dependents or dependents with broken linkage!
build (3.12, macos-latest)
Homebrew/actions/setup-homebrew@master is deprecated. Please update your workflow references to use Homebrew/actions/setup-homebrew@main. The "master" branch sync will stop and this warning will become an error when Homebrew 5.2.0 is released (no earlier than 2026-06-10).
build (3.9, macos-latest)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
C901: src/ocrd/decorators/__init__.py#L26
'ocrd_cli_wrap_processor' is too complex (30)
C901: src/ocrd/cli/workspace.py#L324
'workspace_cli_bulk_add' is too complex (29)
W291: src/ocrd/cli/resmgr.py#L81
trailing whitespace
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.get_moduledir' imported but unused
F401: src/ocrd/cli/resmgr.py#L16
'ocrd_utils.directory_size' imported but unused
F401: src/ocrd/cli/resmgr.py#L13
'requests' imported but unused
F401: src/ocrd/cli/resmgr.py#L9
'pathlib.Path' imported but unused
W391: src/ocrd/cli/bashlib.py#L42
blank line at end of file
W291: src/ocrd/cli/bashlib.py#L13
trailing whitespace
F403: src/ocrd/__init__.py#L21
'from ocrd_validators import *' used; unable to detect undefined names
build (3.9, macos-latest)
`$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set: not checking for outdated dependents or dependents with broken linkage!
build (3.9, macos-latest)
Homebrew/actions/setup-homebrew@master is deprecated. Please update your workflow references to use Homebrew/actions/setup-homebrew@main. The "master" branch sync will stop and this warning will become an error when Homebrew 5.2.0 is released (no earlier than 2026-06-10).