galaxyproject / galaxyproject/planemo

planemo shed_lint --fail_fast broken?

Open
#542 2 comments 0 reactions 0 assignees View on GitHub
bug linting
Dominant language
Python
Stars
110
Forks
102
Avg merge
4d 21h
Merged PRs (30d)
13

Description

Using https://github.com/peterjc/pico_galaxy/commit/4a83837f6d0be6e79324f3e63af3626ed0081fe8 as an example, with planemo as of f88f055d6bce6b7ba94b57a4e89ab80294799c8f

``` bash
$ planemo --version
planemo, version 0.28.0.dev0
```

Sample output:

``` bash
$ planemo shed_lint tools/ -r --fail_fast ; echo "Return code $?"
...
Linting repository /Volumes/Hitachi-3TB-mirrored/repositories/pico_galaxy/tools/mira3
Applying linter expansion... WARNING
.. WARNING: Failed to expand inclusions [{u'source': u'../../tools/mira3/mira.py', u'strip_components': 2}, {u'source': u'../../tools/mira3/mira.xml', u'strip_components': 2}, {u'source': u'../../tools/mira3/tool_dependencies.xml', u'strip_components': 2}]
Applying linter tool_dependencies_xsd... CHECK
.. INFO: No tool_dependencies.xml, skipping.
Applying linter tool_dependencies_actions... CHECK
.. INFO: No tool_dependencies.xml, skipping.
Applying linter repository_dependencies... CHECK
.. INFO: No repository_dependencies.xml, skipping.
Applying linter shed_yaml... CHECK
.. INFO: .shed.yml found and appears to be valid YAML.
Applying linter readme... CHECK
.. INFO: README found containing valid reStructuredText.
Failed linting
Linting repository /Volumes/Hitachi-3TB-mirrored/repositories/pico_galaxy/tools/mira4_0
Applying linter expansion... WARNING
.. WARNING: Failed to expand inclusions [{u'source': u'../../tools/mira4_0/mira4.py', u'strip_components': 2}, {u'source': u'../../tools/mira4_0/mira4_bait.py', u'strip_components': 2}, {u'source': u'../../tools/mira4_0/mira4_convert.py', u'strip_components': 2}, {u'source': u'../../tools/mira4_0/mira4_de_novo.xml', u'strip_components': 2}, {u'source': u'../../tools/mira4_0/mira4_make_bam.py', u'strip_components': 2}, {u'source': u'../../tools/mira4_0/mira4_mapping.xml', u'strip_components': 2}, {u'source': u'../../tools/mira4_0/mira4_validator.py', u'strip_components': 2}, {u'source': u'../../tools/mira4_0/repository_dependencies.xml', u'strip_components': 2}, {u'source': u'../../tools/mira4_0/tool_dependencies.xml', u'strip_components': 2}]
Applying linter tool_dependencies_xsd... CHECK
.. INFO: No tool_dependencies.xml, skipping.
Applying linter tool_dependencies_actions... CHECK
.. INFO: No tool_dependencies.xml, skipping.
Applying linter repository_dependencies... CHECK
.. INFO: No repository_dependencies.xml, skipping.
Applying linter shed_yaml... CHECK
.. INFO: .shed.yml found and appears to be valid YAML.
Applying linter readme... CHECK
.. INFO: README found containing valid reStructuredText.
Failed linting
Linting repository /Volumes/Hitachi-3TB-mirrored/repositories/pico_galaxy/tools/mira4_9
Applying linter expansion... WARNING
.. WARNING: Failed to expand inclusions [{u'source': u'../../tools/mira4_9/mira_4_9_bait.xml', u'strip_components': 2}, {u'source': u'../../tools/mira4_9/repository_dependencies.xml', u'strip_components': 2}, {u'source': u'../../tools/mira4_9/tool_dependencies.xml', u'strip_components': 2}]
Applying linter tool_dependencies_xsd... CHECK
.. INFO: No tool_dependencies.xml, skipping.
Applying linter tool_dependencies_actions... CHECK
.. INFO: No tool_dependencies.xml, skipping.
Applying linter repository_dependencies... CHECK
.. INFO: No repository_dependencies.xml, skipping.
Applying linter shed_yaml... CHECK
.. INFO: .shed.yml found and appears to be valid YAML.
Applying linter readme... CHECK
.. INFO: README found containing valid reStructuredText.
Failed linting
...
Linting repository /Volumes/Hitachi-3TB-mirrored/repositories/pico_galaxy/tools/venn_list
Applying linter expansion... CHECK
.. INFO: Included files all found.
Applying linter tool_dependencies_xsd... CHECK
.. INFO: tool_dependencies.xml found and appears to be valid XML
Applying linter tool_dependencies_actions... CHECK
.. INFO: Parsed tool dependencies.
Applying linter repository_dependencies... CHECK
.. INFO: No repository_dependencies.xml, skipping.
Applying linter shed_yaml... CHECK
.. INFO: .shed.yml found and appears to be valid YAML.
Applying linter readme... CHECK
.. INFO: README found containing valid reStructuredText.
Return code 1
```

Despite failing relatively early on, `planemo shed_lint` continued and linted all the folders.

By using `--fail_fast` I expected planemo to abort after the first failure.

Contributor guide

Open the contributing guide

Research direction

Start at the planemo shed_lint command and trace how the --fail_fast option is handled after a repository reports failed linting. Reproduce the command shown in the issue, then verify that processing stops after the first failure and that the command still returns a failure status.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.